diff --git a/imports/fix.go b/imports/fix.go index 535cfdc5c8..d009cd50ff 100644 --- a/imports/fix.go +++ b/imports/fix.go @@ -200,10 +200,7 @@ func (p *pass) findMissingImport(pkg string, syms map[string]bool) *importInfo { if !ok { continue } - if candidate.name != "" && candidate.name != pkg { - continue - } - if pkgInfo.name != pkg { + if candidate.name != pkg && pkgInfo.name != pkg { continue } @@ -377,7 +374,7 @@ func (p *pass) assumeSiblingImportsValid() { if imp, ok := importsByName[left]; ok { if _, ok := stdlib[imp.importPath]; ok { // We have the stdlib in memory; no need to guess. - continue + rights = stdlib[imp.importPath] } p.addCandidate(imp, &packageInfo{ // no name; we already know it. diff --git a/imports/fix_test.go b/imports/fix_test.go index 73d92dcba2..ec22c60bc4 100644 --- a/imports/fix_test.go +++ b/imports/fix_test.go @@ -1918,10 +1918,12 @@ func TestSiblingImports(t *testing.T) { import "local/log" import "my/bytes" +import renamed "fmt" func LogSomething() { log.Print("Something") bytes.SomeFunc() + renamed.Println("Something") } ` @@ -1932,6 +1934,7 @@ var _ = bytes.Buffer{} func LogSomethingElse() { log.Print("Something else") + renamed.Println("Yet another") } ` @@ -1940,6 +1943,7 @@ func LogSomethingElse() { import ( "bytes" + renamed "fmt" "local/log" ) @@ -1947,6 +1951,7 @@ var _ = bytes.Buffer{} func LogSomethingElse() { log.Print("Something else") + renamed.Println("Yet another") } `