This is a regression test for bug #63592 in "organize imports" whereby the new imports would shadow predeclared names. In the original example, the conflict was between predeclared error type and the unfortunately named package github.com/coreos/etcd/error, but this example uses a package with the ludicrous name of complex128. The new behavior is that we will not attempt to import packages that shadow predeclared names. (Ideally we would do that only if the predeclared name is actually referenced in the file, which complex128 happens to be in this example, but that's a trickier analysis than the internal/imports package is game for.) The name complex127 works as usual. -- go.mod -- module example.com go 1.18 -- complex128/a.go -- package complex128 var V int -- complex127/a.go -- package complex127 var V int -- main.go -- package main import () //@codeaction("import", "", "source.organizeImports", out) func main() { complex128.V() //@diag("V", re"type complex128 has no field") complex127.V() //@diag("complex127", re"(undeclared|undefined)") } func _() { var _ complex128 = 1 + 2i } -- @out/main.go -- package main import "example.com/complex127" //@codeaction("import", "", "source.organizeImports", out) func main() { complex128.V() //@diag("V", re"type complex128 has no field") complex127.V() //@diag("complex127", re"(undeclared|undefined)") } func _() { var _ complex128 = 1 + 2i }