preventing what might be a future bug
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 16 Mar 2022 13:03:20 +0000 (08:03 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 16 Mar 2022 13:03:20 +0000 (08:03 -0500)
src/checker.c

index 88de40aed49306541dff072577765902b259770a..f5d07418c8ef8691076eb9b48deafbfcfb301b45 100644 (file)
@@ -1606,6 +1606,12 @@ CheckStatus check_field_access(AstFieldAccess** pfield) {
         token_toggle_end(field->token);
     }
 
+    if (field->expr->type->kind == Type_Kind_Struct) {
+        if (field->expr->type->Struct.status != SPS_Uses_Done) {
+            YIELD(field->token->pos, "Waiting for struct type to be completed before looking up members.");
+        }
+    }
+
     StructMember smem;
     if (!type_lookup_member(field->expr->type, field->field, &smem)) {
         if (field->expr->type->kind == Type_Kind_Array) {