potential bug fixes
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 6 Jan 2022 00:20:45 +0000 (18:20 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 6 Jan 2022 00:20:45 +0000 (18:20 -0600)
src/symres.c
src/utils.c

index 038e2660eb2bd5a4ebfc744b2348a39b3c1bd25d..452fd877cad99ba4575c4cb9f1093cdde11fa1a2 100644 (file)
@@ -1358,18 +1358,25 @@ static SymresStatus symres_polyquery(AstPolyQuery *query) {
         bh_arr_each(AstPolyParam, pp, query->proc->poly_params) {
             if (pp->kind == PPK_Baked_Value && pp->idx == idx) goto skip_introducing_symbol;
         }
+
         symbol_introduce(curr_scope, param->local->token, (AstNode *) param->local);
 
     skip_introducing_symbol:
+        idx++;
+    }
+
+    bh_arr_each(AstParam, param, query->function_header->params) {
         if (param->local->type_node != NULL) {
             resolved_a_symbol = 0;
+
+            param->local->flags |= Ast_Flag_Symbol_Invisible;
             symres_type(&param->local->type_node);
+            param->local->flags &= ~Ast_Flag_Symbol_Invisible;
+
             onyx_clear_errors();
 
             if (resolved_a_symbol) query->successful_symres = 1;
         }
-
-        idx++;
     }
 
     scope_leave();
index 87bff0fcdb7dd096a6b46bcf8c6d25a11c84b13b..efc77b5087c87b51a7709ee61f31233cd9afd8b7 100644 (file)
@@ -384,7 +384,7 @@ AstTyped* find_matching_overload_by_arguments(bh_arr(OverloadOption) overloads,
     AstTyped *matched_overload = NULL;
 
     bh_arr_each(bh__imap_entry, entry, all_overloads.entries) {
-        AstTyped* node = (AstTyped *) entry->key;
+        AstTyped* node = (AstTyped *) strip_aliases((AstNode *) entry->key);
         arguments_copy(&args, param_args);
 
         AstFunction* overload = NULL;