|  | // 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" |