Commit a67ea4a4ae

Veikka Tuominen <git@vexu.eu>
2022-11-27 20:47:41
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.
1 parent 2dcac34
Changed files (1)
src
codegen
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();