From: Russ Cox Date: Tue, 6 Jan 2009 23:39:28 +0000 (-0800) Subject: fix newfn X-Git-Tag: weekly.2009-11-06~2431 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=84953bdaa8e444952e4ef6ab7cf96c95e25d42dc;p=gostls13.git fix newfn R=ken OCL=22173 CL=22173 --- diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index 6c7c02838c..870d30a98a 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -2078,13 +2078,14 @@ Node* newcompat(Node *n) { Node *r, *on; - Type *t, *t0; + Type *t; t = n->type; if(t == T) goto bad; switch(t->etype) { + case TFUNC: case TSTRING: case TMAP: case TCHAN: diff --git a/test/newfn.go b/test/newfn.go index fbbf942ce4..63df683ce6 100644 --- a/test/newfn.go +++ b/test/newfn.go @@ -10,5 +10,8 @@ func main() { f := new(()); // ERROR "new" g := new((x int, f float) string); // ERROR "new" - h := new(()); // ok + h := new(*()); // ok + i := new(string); // ok + j := new(map[int]int); // ok + k := new(chan int); // ok }