zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit c8fa767f083e610840cef688b709783c5ad66acc (tree)
parent a02bd81760166d679ccee0e190bf62115272ffbe
Author: Carl Ã…stholm <carl@astholm.se>
Date:   Sun,  7 Jan 2024 15:52:24 +0100

Work around stage1 not yet returning null-terminated `@typeInfo` strings

These changes can be reverted the next time stage1 is updated.

Diffstat:
Mdeps/aro/aro/Attribute.zig | 2+-
Mlib/std/enums.zig | 2+-
Mlib/std/io.zig | 2+-
Mlib/std/meta.zig | 4++--
Msrc/value.zig | 2+-
5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/deps/aro/aro/Attribute.zig b/deps/aro/aro/Attribute.zig @@ -645,7 +645,7 @@ pub const Arguments = blk: { var union_fields: [decls.len]ZigType.UnionField = undefined; for (decls, &union_fields) |decl, *field| { field.* = .{ - .name = decl.name, + .name = decl.name ++ "", .type = @field(attributes, decl.name), .alignment = 0, }; diff --git a/lib/std/enums.zig b/lib/std/enums.zig @@ -14,7 +14,7 @@ pub fn EnumFieldStruct(comptime E: type, comptime Data: type, comptime field_def var fields: []const StructField = &[_]StructField{}; for (std.meta.fields(E)) |field| { fields = fields ++ &[_]StructField{.{ - .name = field.name, + .name = field.name ++ "", .type = Data, .default_value = if (field_default) |d| @as(?*const anyopaque, @ptrCast(&d)) else null, .is_comptime = false, diff --git a/lib/std/io.zig b/lib/std/io.zig @@ -635,7 +635,7 @@ pub fn PollFiles(comptime StreamEnum: type) type { var struct_fields: [enum_fields.len]std.builtin.Type.StructField = undefined; for (&struct_fields, enum_fields) |*struct_field, enum_field| { struct_field.* = .{ - .name = enum_field.name, + .name = enum_field.name ++ "", .type = fs.File, .default_value = null, .is_comptime = false, diff --git a/lib/std/meta.zig b/lib/std/meta.zig @@ -556,7 +556,7 @@ pub fn FieldEnum(comptime T: type) type { var decls = [_]std.builtin.Type.Declaration{}; inline for (field_infos, 0..) |field, i| { enumFields[i] = .{ - .name = field.name, + .name = field.name ++ "", .value = i, }; } @@ -628,7 +628,7 @@ pub fn DeclEnum(comptime T: type) type { var enumDecls: [fieldInfos.len]std.builtin.Type.EnumField = undefined; var decls = [_]std.builtin.Type.Declaration{}; inline for (fieldInfos, 0..) |field, i| { - enumDecls[i] = .{ .name = field.name, .value = i }; + enumDecls[i] = .{ .name = field.name ++ "", .value = i }; } return @Type(.{ .Enum = .{ diff --git a/src/value.zig b/src/value.zig @@ -4050,7 +4050,7 @@ pub const Value = struct { const tags = @typeInfo(Tag).Enum.fields; var fields: [tags.len]std.builtin.Type.StructField = undefined; for (&fields, tags) |*field, t| field.* = .{ - .name = t.name, + .name = t.name ++ "", .type = *@field(Tag, t.name).Type(), .default_value = null, .is_comptime = false,