--- /dev/null
+package pkg
+
+type I interface {
+ f1()
+ f2()
+}
+
+func init() {
+ var _ I
+}
+
+type t1 struct{}
+type T2 struct{ t1 }
+
+func (t1) f1() {}
+func (T2) f2() {}
+
+func Fn() {
+ var v T2
+ _ = v.t1
+}
+
+type I2 interface {
+ f3()
+ f4()
+}
+
+type t3 struct{}
+type t4 struct {
+ x int // want `x`
+ y int // want `y`
+ t3
+}
+
+func (*t3) f3() {}
+func (*t4) f4() {}
+
+func init() {
+ var i I2 = &t4{}
+ i.f3()
+ i.f4()
+}
+
+type i3 interface {
+ F()
+}
+
+type I4 interface {
+ i3
+}
+
+type T5 struct {
+ t6
+}
+
+type t6 struct {
+ F int
+}
+
+type t7 struct{ X int }
+type t8 struct{ t7 }
+type t9 struct{ t8 }
+
+var _ = t9{}
+
+type t10 struct{}
+
+func (*t10) Foo() {}
+
+type t11 struct{ t10 }
+
+var _ = t11{}
+
+type i5 interface{}
+type I6 interface {
+ i5
+}