Test of implicit field selections in method calls. The two level wrapping T -> unexported -> U is required to exercise the implicit selections exportedness check; with only a single level, the receiver declaration in "func (unexported) F()" would fail the earlier unexportedness check. -- go.mod -- module testdata go 1.12 -- a/a.go -- package a import "testdata/b" func _(x b.T) { x.F() //@ inline(re"F", re"in x.F, implicit reference to unexported field .unexported cannot be made explicit") } -- b/b.go -- package b type T struct { unexported } type unexported struct { U } type U struct{} func (U) F() {}