1// errorcheck 2 3// Copyright 2018 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 7// Issue 23732: Give better details about which struct 8// initializer has the wrong number of values. 9 10package main 11 12type Foo struct { 13 A int 14 B int 15 C interface{} 16 Bar 17} 18 19type Bar struct { 20 A string 21} 22 23func main() { 24 _ = Foo{ // GCCGO_ERROR "too few expressions" 25 1, 26 2, 27 3, 28 } // GC_ERROR "too few values in" 29 30 _ = Foo{ 31 1, 32 2, 33 3, 34 Bar{"A", "B"}, // ERROR "too many values in|too many expressions" 35 } 36 37 _ = Foo{ // GCCGO_ERROR "too few expressions" 38 1, 39 2, 40 Bar{"A", "B"}, // ERROR "too many values in|too many expressions" 41 } // GC_ERROR "too few values in" 42} 43