diff options
author | Robert Griesemer <gri@golang.org> | 2010-07-29 18:14:49 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2010-07-29 18:14:49 -0700 |
commit | d28238397d4b962c6c59df1a81451c3c8b39e8d6 (patch) | |
tree | cd77b123abf6c48424d9d47f7b19f40c96f0c9d0 /test | |
parent | 7162c796ad1c86df5fc4c4935b2cd0adfcfa97e9 (diff) | |
download | go-d28238397d4b962c6c59df1a81451c3c8b39e8d6.tar.gz |
bug300: literal types must not be parenthesized
( This CL is dependent on acceptance of
http://codereview.appspot.com/1913041/show )
R=go-dev
CC=golang-dev
http://codereview.appspot.com/1860045
Diffstat (limited to 'test')
-rw-r--r-- | test/bugs/bug300.go | 29 | ||||
-rw-r--r-- | test/golden.out | 3 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/bugs/bug300.go b/test/bugs/bug300.go new file mode 100644 index 000000000..dbed50939 --- /dev/null +++ b/test/bugs/bug300.go @@ -0,0 +1,29 @@ +// errchk $G $D/$F.go + +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +type T struct { + x, y *T +} + +func main() { + // legal composite literals + _ = struct{}{} + _ = [42]int{} + _ = [...]int{} + _ = []int{} + _ = map[int]int{} + _ = T{} + + // illegal composite literals: parentheses not allowed around literal type + _ = (struct{}){} // ERROR "xxx" + _ = ([42]int){} // ERROR "xxx" + _ = ([...]int){} // ERROR "xxx" + _ = ([]int){} // ERROR "xxx" + _ = (map[int]int){} // ERROR "xxx" + _ = (T){} // ERROR "xxx" +} diff --git a/test/golden.out b/test/golden.out index 25dbc914b..5999db661 100644 --- a/test/golden.out +++ b/test/golden.out @@ -186,3 +186,6 @@ errchk: bugs/bug299.go: unmatched error messages: ================================================== bugs/bug299.go:19: syntax error: unexpected } ================================================== + +=========== bugs/bug300.go +BUG: errchk: command succeeded unexpectedly |