mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
feat(std.testing.refAllDeclsRecursive): allow for opaque extern declarations
This commit is contained in:
parent
95f93a0b28
commit
d323c6a47e
1 changed files with 2 additions and 2 deletions
|
|
@ -1197,13 +1197,13 @@ pub fn refAllDecls(comptime T: type) void {
|
|||
pub fn refAllDeclsRecursive(comptime T: type) void {
|
||||
if (!builtin.is_test) return;
|
||||
inline for (comptime std.meta.declarations(T)) |decl| {
|
||||
if (@TypeOf(@field(T, decl.name)) == type) {
|
||||
const decl_ref = &@field(T, decl.name);
|
||||
if (@typeInfo(@TypeOf(decl_ref)).pointer.child == type) {
|
||||
switch (@typeInfo(@field(T, decl.name))) {
|
||||
.@"struct", .@"enum", .@"union", .@"opaque" => refAllDeclsRecursive(@field(T, decl.name)),
|
||||
else => {},
|
||||
}
|
||||
}
|
||||
_ = &@field(T, decl.name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue