| // 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{...}" |
| } |
| |
| _ = Foo{ |
| 1, |
| 2, |
| 3, |
| Bar{"A", "B"}, // ERROR "too many values in Bar{...}" |
| } |
| |
| _ = Foo{ |
| 1, |
| 2, |
| Bar{"A", "B"}, // ERROR "too many values in Bar{...}" "too few values in Foo{...}" |
| } |
| } |