Home | History | Annotate | Download | only in test
      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"
     28