authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-04-06 14:02:29-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-04-06 14:02:29-07:00
log22ef416d4de6e37fbe8428351c4043e5acc3c818
treedb228f9651d9f6503c3c3dc015641f34fb332f8d
parent67152f729431d58a9cd140498d50c1e9d795c34b

fix generics not using ast clone


1 files changed, 5 insertions(+), 3 deletions(-)

src/analyze.cpp+5-3
......@@ -4675,13 +4675,15 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp
46754675
46764676 // make a type from the generic parameters supplied
46774677 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;
46794681
4680 preview_fn_proto_instance(g, import, decl_node, child_context);
4682 preview_fn_proto_instance(g, import, impl_decl_node, child_context);
46814683
46824684 g->generic_table.put(generic_fn_type_id, impl_decl_node);
46834685
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;
46854687 return resolve_expr_const_val_as_fn(g, node, fn_table_entry);
46864688}
46874689