Function refAllDeclsRecursive [src]

Given a type, recursively references all the declarations inside, so that the semantic analyzer sees them. For deep types, you may use @setEvalBranchQuota.

Prototype

pub fn refAllDeclsRecursive(comptime T: type) void

Parameters

T: type

Source

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) { switch (@typeInfo(@field(T, decl.name))) { .@"struct", .@"enum", .@"union", .@"opaque" => refAllDeclsRecursive(@field(T, decl.name)), else => {}, } } _ = &@field(T, decl.name); } }