package foo type wobble struct { Some string Val string Inception *wobble } // Fooer is an empty interface used for tests. type Fooer interface{} // Fooer2 is an interface used for tests. type Fooer2 interface { Foo() } // Fooer3 is an interface used for tests. type Fooer3 interface { Foo() Bar(a string) Baz(a string) (err error) Qux(a, b string) (val string, err error) Wobble() (w *wobble) Wiggle() (w wobble) } // Fooer4 is an interface used for tests. type Fooer4 interface { Foo() error } // Bar is an interface used for tests. type Bar interface { Boo(a string, b string) (s string, err error) } // Fooer5 is an interface used for tests. type Fooer5 interface { Foo() Bar }