// errorcheck | |
// Copyright 2018 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. | |
// Issue 23732: Give better details about which struct | |
// initializer has the wrong number of values. | |
package main | |
type Foo struct { | |
A int | |
B int | |
C interface{} | |
Bar | |
} | |
type Bar struct { | |
A string | |
} | |
func main() { | |
_ = Foo{ | |
1, | |
2, | |
3, // ERROR "too few values in Foo literal" | |
} | |
_ = Foo{ | |
1, | |
2, | |
3, | |
Bar{"A", "B"}, // ERROR "too many values in Bar literal" | |
} | |
_ = Foo{ | |
1, | |
2, | |
Bar{"A", "B"}, // ERROR "too many values in Bar literal" "too few values in Foo literal" | |
} | |
} |