Closed
Description
by peterbourgon:
$ go version go version go1.2.1 darwin/amd64 $ cat a.go package main import ( logpkg "log" "os" ) var ( log = logpkg.New(os.Stdout, "", 0) ) func main() { b() } $ cat b.go ~/src/tmp/logerr cat b.go package main func b() { log.Printf("hello") } $ goimports -d b.go goimports -d b.go diff b.go gofmt/b.go --- /var/folders/lj/1qllh78d2qqbyxkdg5jldcym0000gn/T/gofmt154060612 2014-03-04 14:56:26.000000000 +0100 +++ /var/folders/lj/1qllh78d2qqbyxkdg5jldcym0000gn/T/gofmt436718547 2014-03-04 14:56:26.000000000 +0100 @@ -1,5 +1,7 @@ package main +import "log" + func b() { log.Printf("hello") } goimports doesn't detect that log.Printf in b.go refers to the global variable "log" defined in a.go, and erroneously imports the log package. Put another way, the expected diff is nothing.