This test verifies that implementations uses the correct object when querying local implementations . As described in golang/go#67041), a bug led to it comparing types from different realms. -- go.mod -- module example.com go 1.18 -- a/a.go -- package a type A struct{} type Aer interface { //@loc(Aer, "Aer") GetA() A } type X struct{} //@loc(X, "X") func (X) GetA() A -- a/a_test.go -- package a // Verify that we also find implementations in a test variant. type Y struct{} //@loc(Y, "Y") func (Y) GetA() A -- b/b.go -- package b import "example.com/a" var _ a.X //@implementation("X", Aer) var _ a.Aer //@implementation("Aer", X, Y)