Test of unimported completions respecting the effective Go version of the file. (See unprefixed file for same test of imported completions.) These symbols below were introduced to go/types in go1.22: Alias Info.FileVersions (Checker).PkgNameOf The underlying logic depends on versions.FileVersion, which only behaves correctly in go1.22. (When go1.22 is assured, we can remove the min_go flag but leave the test inputs unchanged.) -- flags -- -ignore_extra_diags -min_go=go1.22 -- go.mod -- module example.com go 1.21 -- a/a.go -- package a // package-level func var _ = types.Sat //@rank("Sat", "Satisfies") var _ = types.Ali //@rank("Ali", "!Alias") // (We don't offer completions of methods // of types from unimported packages, so the fact that // we don't implement std version filtering isn't evident.) // field var _ = new(types.Info).Use //@rank("Use", "!Uses") var _ = new(types.Info).Fil //@rank("Fil", "!FileVersions") // method var _ = new(types.Checker).Obje //@rank("Obje", "!ObjectOf") var _ = new(types.Checker).PkgN //@rank("PkgN", "!PkgNameOf") -- b/b.go -- //go:build go1.22 package a // package-level decl var _ = types.Sat //@rank("Sat", "Satisfies") var _ = types.Ali //@rank("Ali", "Alias")