github.com/serversong/goreporter@v0.0.0-20200325104552-3cfaf44fd178/linters/interfacer/testdata/files/own_iface.go (about)

     1  package foo
     2  
     3  type FooCloser interface {
     4  	Foo()
     5  	Close() error
     6  }
     7  
     8  type Barer interface {
     9  	Bar(fc FooCloser) int
    10  }
    11  
    12  type St struct{}
    13  
    14  func (s St) Bar(fc FooCloser) int {
    15  	return 2
    16  }
    17  
    18  func Foo(s St) { // WARN s can be Barer
    19  	_ = s.Bar(nil)
    20  }
    21  
    22  func Bar(fc FooCloser) int {
    23  	fc.Close()
    24  	return 3
    25  }