summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2010-07-29 18:14:49 -0700
committerRobert Griesemer <gri@golang.org>2010-07-29 18:14:49 -0700
commitd28238397d4b962c6c59df1a81451c3c8b39e8d6 (patch)
treecd77b123abf6c48424d9d47f7b19f40c96f0c9d0 /test
parent7162c796ad1c86df5fc4c4935b2cd0adfcfa97e9 (diff)
downloadgo-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.go29
-rw-r--r--test/golden.out3
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