Source file test/fixedbugs/issue23732.go

     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  
    10  package main
    11  
    12  type Foo struct {
    13  	A int
    14  	B int
    15  	C interface{}
    16  	Bar
    17  }
    18  
    19  type Bar struct {
    20  	A string
    21  }
    22  
    23  func 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  

View as plain text