pub fn DeclEnum(comptime T: type) type 481
482
483
484
485
486pub fn DeclEnum(comptime T: type) type {
const decl_names = declarations(T);
if (decl_names.len == 0) return enum {};
const IntTag = std.math.IntFittingRange(0, decl_names.len - 1);
return @Enum(IntTag, .exhaustive, decl_names, &std.simd.iota(IntTag, decl_names.len));
}