diff --git a/freetype/src/freetype/main.zig b/freetype/src/freetype/main.zig index f21ef708..3c0c8bff 100644 --- a/freetype/src/freetype/main.zig +++ b/freetype/src/freetype/main.zig @@ -8,15 +8,15 @@ pub const Glyph = @import("Glyph.zig"); pub const Stroker = @import("Stroker.zig"); pub const Error = @import("error.zig").Error; -const utils = @import("utils"); +const std = @import("std"); test { - utils.refAllDecls(@import("freetype.zig")); - utils.refAllDecls(@import("types.zig")); - utils.refAllDecls(@import("image.zig")); - utils.refAllDecls(@import("color.zig")); - utils.refAllDecls(@import("lcdfilter.zig")); - utils.refAllDecls(@import("error.zig")); - utils.refAllDecls(Glyph); - utils.refAllDecls(Stroker); + std.testing.refAllDeclsRecursive(@import("freetype.zig")); + std.testing.refAllDeclsRecursive(@import("types.zig")); + std.testing.refAllDeclsRecursive(@import("image.zig")); + std.testing.refAllDeclsRecursive(@import("color.zig")); + std.testing.refAllDeclsRecursive(@import("lcdfilter.zig")); + std.testing.refAllDeclsRecursive(@import("error.zig")); + std.testing.refAllDeclsRecursive(Glyph); + std.testing.refAllDeclsRecursive(Stroker); } diff --git a/freetype/src/harfbuzz/main.zig b/freetype/src/harfbuzz/main.zig index 2a6428ab..36531feb 100644 --- a/freetype/src/harfbuzz/main.zig +++ b/freetype/src/harfbuzz/main.zig @@ -7,14 +7,14 @@ pub usingnamespace @import("shape.zig"); pub usingnamespace @import("shape_plan.zig"); pub const c = @import("c"); -const utils = @import("utils"); +const std = @import("std"); test { - utils.refAllDecls(@import("blob.zig")); - utils.refAllDecls(@import("buffer.zig")); - utils.refAllDecls(@import("common.zig")); - utils.refAllDecls(@import("face.zig")); - utils.refAllDecls(@import("font.zig")); - utils.refAllDecls(@import("shape.zig")); - utils.refAllDecls(@import("shape_plan.zig")); + std.testing.refAllDeclsRecursive(@import("blob.zig")); + std.testing.refAllDeclsRecursive(@import("buffer.zig")); + std.testing.refAllDeclsRecursive(@import("common.zig")); + std.testing.refAllDeclsRecursive(@import("face.zig")); + std.testing.refAllDeclsRecursive(@import("font.zig")); + std.testing.refAllDeclsRecursive(@import("shape.zig")); + std.testing.refAllDeclsRecursive(@import("shape_plan.zig")); } diff --git a/freetype/src/utils.zig b/freetype/src/utils.zig index 5e84b542..bdbcc4f3 100644 --- a/freetype/src/utils.zig +++ b/freetype/src/utils.zig @@ -19,18 +19,3 @@ pub fn bitFieldsToStruct(comptime StructType: type, comptime EnumDataType: type, } return value; } - -pub fn refAllDecls(comptime T: type) void { - @setEvalBranchQuota(10000); - inline for (comptime std.meta.declarations(T)) |decl| { - if (decl.is_pub) { - if (@TypeOf(@field(T, decl.name)) == type) { - switch (@typeInfo(@field(T, decl.name))) { - .Struct, .Enum, .Union, .Opaque => refAllDecls(@field(T, decl.name)), - else => {}, - } - } - _ = @field(T, decl.name); - } - } -} diff --git a/sysaudio/soundio/main.zig b/sysaudio/soundio/main.zig index 8f391555..d392914b 100644 --- a/sysaudio/soundio/main.zig +++ b/sysaudio/soundio/main.zig @@ -6,24 +6,11 @@ pub const InStream = @import("InStream.zig"); pub const OutStream = @import("OutStream.zig"); pub const Error = @import("error.zig").Error; -test { - refAllDecls(@import("SoundIo.zig")); - refAllDecls(@import("Device.zig")); - refAllDecls(@import("OutStream.zig")); - refAllDecls(@import("ChannelLayout.zig")); -} +const std = @import("std"); -fn refAllDecls(comptime T: type) void { - @setEvalBranchQuota(10000); - inline for (comptime @import("std").meta.declarations(T)) |decl| { - if (decl.is_pub) { - if (@TypeOf(@field(T, decl.name)) == type) { - switch (@typeInfo(@field(T, decl.name))) { - .Struct, .Enum, .Union, .Opaque => refAllDecls(@field(T, decl.name)), - else => {}, - } - } - _ = @field(T, decl.name); - } - } +test { + std.testing.refAllDeclsRecursive(@import("SoundIo.zig")); + std.testing.refAllDeclsRecursive(@import("Device.zig")); + std.testing.refAllDeclsRecursive(@import("OutStream.zig")); + std.testing.refAllDeclsRecursive(@import("ChannelLayout.zig")); }