| ... | @@ -4675,13 +4675,15 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp | ... | @@ -4675,13 +4675,15 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp |
| 4675 | | 4675 | |
| 4676 | // make a type from the generic parameters supplied | 4676 | // make a type from the generic parameters supplied |
| 4677 | assert(decl_node->type == NodeTypeFnProto); | 4677 | assert(decl_node->type == NodeTypeFnProto); |
| 4678 | AstNode *impl_decl_node = ast_clone_subtree(decl_node); | 4678 | AstNode *impl_fn_def_node = ast_clone_subtree(decl_node->data.fn_proto.fn_def_node); |
| | 4679 | AstNode *impl_decl_node = impl_fn_def_node->data.fn_def.fn_proto; |
| | 4680 | impl_decl_node->data.fn_proto.fn_def_node = impl_fn_def_node; |
| 4679 | | 4681 | |
| 4680 | preview_fn_proto_instance(g, import, decl_node, child_context); | 4682 | preview_fn_proto_instance(g, import, impl_decl_node, child_context); |
| 4681 | | 4683 | |
| 4682 | g->generic_table.put(generic_fn_type_id, impl_decl_node); | 4684 | g->generic_table.put(generic_fn_type_id, impl_decl_node); |
| 4683 | | 4685 | |
| 4684 | FnTableEntry *fn_table_entry = decl_node->data.fn_proto.fn_table_entry; | 4686 | FnTableEntry *fn_table_entry = impl_decl_node->data.fn_proto.fn_table_entry; |
| 4685 | return resolve_expr_const_val_as_fn(g, node, fn_table_entry); | 4687 | return resolve_expr_const_val_as_fn(g, node, fn_table_entry); |
| 4686 | } | 4688 | } |
| 4687 | | 4689 | |