From: Anthony Martin Date: Tue, 31 May 2011 19:41:47 +0000 (-0400) Subject: gc: disallow ... in type conversions X-Git-Tag: weekly.2011-06-02~44 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5b62ba14c460a23d31c8c2645a41c196ceee8220;p=gostls13.git gc: disallow ... in type conversions Fixes #1866. R=bradfitz, rsc CC=golang-dev https://golang.org/cl/4548073 --- diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c index 0cf11684da..66fc77a973 100644 --- a/src/cmd/gc/typecheck.c +++ b/src/cmd/gc/typecheck.c @@ -794,7 +794,7 @@ reswitch: defaultlit(&n->left, T); l = n->left; if(l->op == OTYPE) { - if(n->isddd) + if(n->isddd || l->type->bound == -100) yyerror("invalid use of ... in type conversion", l); // pick off before type-checking arguments ok |= Erv; diff --git a/test/ddd1.go b/test/ddd1.go index a0bc73814f..96a358e1c0 100644 --- a/test/ddd1.go +++ b/test/ddd1.go @@ -43,4 +43,5 @@ func bad(args ...int) { var x int _ = unsafe.Pointer(&x...) // ERROR "[.][.][.]" _ = unsafe.Sizeof(x...) // ERROR "[.][.][.]" + _ = [...]byte("foo") // ERROR "[.][.][.]" }