summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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