blob: b9defab0272aecd35c129d747d955021872faedd [file] [log] [blame]
This test checks that completion ranking accounts for interface assignability.
-- flags --
-ignore_extra_diags
-- settings.json --
{
"completeUnimported": false,
"deepCompletion": false
}
-- p.go --
package interfacerank
type foo interface {
foo()
}
type fooImpl int
func (*fooImpl) foo() {}
func wantsFoo(foo) {}
func _() {
var (
aa string //@item(irAA, "aa", "string", "var")
ab *fooImpl //@item(irAB, "ab", "*fooImpl", "var")
)
wantsFoo(a) //@complete(re"()\\)", irAB, irAA)
var ac fooImpl //@item(irAC, "ac", "fooImpl", "var")
wantsFoo(&a) //@complete(re"()\\)", irAC, irAA, irAB)
}