modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/funcdup.go (about)

     1  // errorcheck
     2  
     3  // Copyright 2013 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  package p
     8  
     9  type T interface {
    10  	F1(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
    11  	F2(i, i int) // ERROR "duplicate argument i|redefinition|previous"
    12  	F3() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
    13  }
    14  
    15  type T1 func(i, i int) // ERROR "duplicate argument i|redefinition|previous"
    16  type T2 func(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
    17  type T3 func() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
    18  
    19  type R struct{}
    20  
    21  func (i *R) F1(i int)         {} // ERROR "duplicate argument i|redefinition|previous"
    22  func (i *R) F2() (i int)      {return 0} // ERROR "duplicate argument i|redefinition|previous"
    23  func (i *R) F3(j int) (j int) {return 0} // ERROR "duplicate argument j|redefinition|previous"
    24  
    25  func F1(i, i int)      {} // ERROR "duplicate argument i|redefinition|previous"
    26  func F2(i int) (i int) {return 0} // ERROR "duplicate argument i|redefinition|previous"
    27  func F3() (i, i int)   {return 0, 0} // ERROR "duplicate argument i|redefinition|previous"