1// errorcheck
2
3// Copyright 2010 The Go Authors.  All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7package main
8
9type T struct {
10	x, y *T
11}
12
13func main() {
14	// legal composite literals
15	_ = struct{}{}
16	_ = [42]int{}
17	_ = [...]int{}
18	_ = []int{}
19	_ = map[int]int{}
20	_ = T{}
21
22	// illegal composite literals: parentheses not allowed around literal type
23	_ = (struct{}){}    // ERROR "parenthesize"
24	_ = ([42]int){}     // ERROR "parenthesize"
25	_ = ([...]int){}    // ERROR "parenthesize"
26	_ = ([]int){}       // ERROR "parenthesize"
27	_ = (map[int]int){} // ERROR "parenthesize"
28	_ = (T){}           // ERROR "parenthesize"
29}
30