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.
This commit is contained in:
Veikka Tuominen 2022-11-27 21:47:41 +02:00
parent 2dcac348e5
commit a67ea4a4ae

View File

@ -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();