bugfix when using structs with any members
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 26 Feb 2022 01:15:36 +0000 (19:15 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 26 Feb 2022 01:15:36 +0000 (19:15 -0600)
src/types.c

index d5f2b176d3403e59334e990dee5b95703b8ad22c..af04627b643c38843eb2f53fae8ce67e0b2bb161 100644 (file)
@@ -115,8 +115,9 @@ b32 types_are_compatible_(Type* t1, Type* t2, b32 recurse_pointers) {
                     Type* t1_struct = t1->Pointer.elem;
                     Type* t2_struct = t2->Pointer.elem;
 
-                    if (t1_struct->Struct.memarr[0]->used)
-                        return types_are_compatible(t2_struct, t1_struct->Struct.memarr[0]->type);
+                    bh_arr(StructMember *) members = t1_struct->Struct.memarr;
+                    if (bh_arr_length(members) > 0 && members[0]->used)
+                        return types_are_compatible(t2_struct,members[0]->type);
                 }
             }