Make structs with the same fields but with different tags distinct types

This commit is contained in:
gingerBill
2019-08-09 22:52:19 +01:00
parent 27a3c5449a
commit 2d26278a65
2 changed files with 6 additions and 1 deletions
-1
View File
@@ -955,7 +955,6 @@ struct_field_tags :: proc() {
z: bool, // no tag
}
f: Foo;
ti := runtime.type_info_base(type_info_of(Foo));
s := ti.variant.(runtime.Type_Info_Struct);
fmt.println("Foo :: struct {");
+6
View File
@@ -1712,6 +1712,12 @@ bool are_types_identical(Type *x, Type *y) {
if (xf_is_using ^ yf_is_using) {
return false;
}
if (x->Struct.tags.count != y->Struct.tags.count) {
return false;
}
if (x->Struct.tags.count > 0 && x->Struct.tags[i] != y->Struct.tags[i]) {
return false;
}
}
return true;
}