summaryrefslogtreecommitdiff
path: root/test/funcdup.go
blob: 7b05d1260664f168126929f8092c4031b09566bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// errorcheck

// Copyright 2013 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.

package p

type T interface {
	F1(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
	F2(i, i int) // ERROR "duplicate argument i|redefinition|previous"
	F3() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
}

type T1 func(i, i int) // ERROR "duplicate argument i|redefinition|previous"
type T2 func(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
type T3 func() (i, i int) // ERROR "duplicate argument i|redefinition|previous"

type R struct{}

func (i *R) F1(i int)         {} // ERROR "duplicate argument i|redefinition|previous"
func (i *R) F2() (i int)      {return 0} // ERROR "duplicate argument i|redefinition|previous"
func (i *R) F3(j int) (j int) {return 0} // ERROR "duplicate argument j|redefinition|previous"

func F1(i, i int)      {} // ERROR "duplicate argument i|redefinition|previous"
func F2(i int) (i int) {return 0} // ERROR "duplicate argument i|redefinition|previous"
func F3() (i, i int)   {return 0, 0} // ERROR "duplicate argument i|redefinition|previous"