authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-05-07 17:27:57-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-05-07 17:27:57-07:00
log9e0165147e18ffb36bcaf09112c72f4cb397d563
tree48d6f15bbe607cf527dba7309b39add9efec654e
parent2ed72022ce56b06bb3e90ca9259065452e209eb9

generic args available to member functions

See #22

2 files changed, 4 insertions(+), 2 deletions(-)

src/analyze.cpp+1-1
......@@ -1549,7 +1549,7 @@ static void preview_fn_proto(CodeGen *g, ImportTableEntry *import, AstNode *prot
15491549 if (proto_node->data.fn_proto.generic_params.length > 0) {
15501550 return preview_generic_fn_proto(g, import, proto_node);
15511551 } else {
1552 return preview_fn_proto_instance(g, import, proto_node, import->block_context);
1552 return preview_fn_proto_instance(g, import, proto_node, proto_node->block_context);
15531553 }
15541554
15551555}
test/self_hosted.zig+3-1
......@@ -1572,9 +1572,11 @@ fn generic_struct() {
15721572 var a1 = GenNode(i32) {.value = 13, .next = null,};
15731573 var b1 = GenNode(bool) {.value = true, .next = null,};
15741574 assert(a1.value == 13);
1575 assert(b1.value);
1575 assert(a1.value == a1.get_val());
1576 assert(b1.get_val());
15761577}
15771578struct GenNode(T: type) {
15781579 value: T,
15791580 next: ?&GenNode(T),
1581 fn get_val(n: &const GenNode(T)) -> T { n.value }
15801582}