From a67ea4a4ae6f8392e2cf9672279aa1b2f80dab72 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Sun, 27 Nov 2022 21:47:41 +0200 Subject: [PATCH] cbe: include hash in tuple type name Different (simple) tuple types do not necessarily print out as different strings. This is issue would be caused by passing std.fmt.Formatter to std.fmt.format. --- src/codegen/c.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 7db7f56de6..6e96e92529 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1468,7 +1468,7 @@ pub const DeclGen = struct { if (field_id == 0) try buffer.appendSlice(" char empty_tuple;\n"); } const name_begin = buffer.items.len + "} ".len; - try buffer.writer().print("}} zig_T_{};\n", .{typeToCIdentifier(t, dg.module)}); + try buffer.writer().print("}} zig_T_{}_{d};\n", .{ typeToCIdentifier(t, dg.module), @truncate(u16, t.hash(dg.module)) }); const name_end = buffer.items.len - ";\n".len; const rendered = try buffer.toOwnedSlice();