Zig 0.16: Fix Style enum generation

This commit is contained in:
LN Liberda 2026-05-22 19:16:42 +02:00
parent 1b3d0a670e
commit 614e1a96c1

View file

@ -280,21 +280,18 @@ const styles = [_]StyleDef{
};
pub const Style = lbl: {
var fields: [styles.len]std.builtin.Type.EnumField = undefined;
for (&fields, styles, 0..) |*field, s, i| {
field.* = .{
.name = s.name,
.value = i,
};
var field_names: [styles.len][]const u8 = undefined;
var field_values: [styles.len]u8 = undefined;
for (&field_names, &field_values, styles, 0..) |*field_name, *field_value, s, i| {
field_name.* = s.name;
field_value.* = i;
}
break :lbl @Type(.{
.@"enum" = .{
.tag_type = u8,
.fields = &fields,
.decls = &[_]std.builtin.Type.Declaration{},
.is_exhaustive = true,
}
});
break :lbl @Enum(
u8,
.exhaustive,
&field_names,
&field_values,
);
};
const ui = @This();