mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-09 13:01:38 -07:00
Fix logic for comparisons of struct #raw_union types
This commit is contained in:
@@ -1207,7 +1207,7 @@ as_raw_data :: proc(a: any) -> (value: rawptr, valid: bool) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
not_equal :: proc(a, b: any) -> bool {
|
||||
return !equal(a, b);
|
||||
}
|
||||
@@ -1284,3 +1284,4 @@ equal :: proc(a, b: any) -> bool {
|
||||
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1919,6 +1919,9 @@ bool is_type_comparable(Type *t) {
|
||||
return is_type_comparable(t->Opaque.elem);
|
||||
|
||||
case Type_Struct:
|
||||
if (t->Struct.is_raw_union) {
|
||||
return is_type_simple_compare(t);
|
||||
}
|
||||
for_array(i, t->Struct.fields) {
|
||||
Entity *f = t->Struct.fields[i];
|
||||
if (!is_type_comparable(f->type)) {
|
||||
|
||||
Reference in New Issue
Block a user