1
0
mirror of https://github.com/golang/go synced 2024-11-21 12:14:46 -07:00

bug300: literal types must not be parenthesized

( This CL is dependent on acceptance of
https://golang.org/cl/1913041/show )

R=go-dev
CC=golang-dev
https://golang.org/cl/1860045
This commit is contained in:
Robert Griesemer 2010-07-29 18:14:49 -07:00
parent 07cc6440dc
commit 500425ac7b
2 changed files with 32 additions and 0 deletions

29
test/bugs/bug300.go Normal file
View File

@ -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"
}

View File

@ -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