What version of Go are you using (go version)?
$ go version
go version go1.12beta2 linux/amd64
Does this issue reproduce with the latest release?
Testing with 1.12 pre the release.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/myitcv/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPROXY=""
GORACE=""
GOROOT="/home/myitcv/gos"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/tmp/tmp.Z9hWoyAQkk/x/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build313729444=/tmp/go-build -gno-record-gcc-switches"
What did you do?
cd $(mktemp -d)
git clone https://github.com/myitcv/x
cd x
git checkout da37b5e
go mod tidy
git status --porcelain
go list honnef.co/go/js/util
This gives the output:
as expected.
However if we then:
cat <<EOD >> tools.go
import _ "github.com/myitcv/gobin"
EOD
go mod tidy
followed by:
go list honnef.co/go/js/util
go list honnef.co/go/js/util
go list honnef.co/go/js/util
...
any number of times, the output is always:
go: finding honnef.co/go/js/util latest
honnef.co/go/js/util
This despite the requirement being part of the requirements graph.
$ go mod graph | grep util
myitcv.io@v0.0.0-20181102104800-990e6f9524a1 honnef.co/go/js/util@v0.0.0-20150216223935-96b8dd9d1621
What did you expect to see?
Not to see see the "finding" message.
What did you see instead?
The "finding" message as part of each go list.
Could this be something to do with the now circular module requirement myitcv.io -> github.com/myitcv/gobin -> myitcv.io? And the fact:
$ go mod why honnef.co/go/js/util
myitcv.io/react/examples
honnef.co/go/js/xhr
honnef.co/go/js/util
where both the honnef.co requirements are not actual modules?
The addition of the the requirement on github.com/myitcv/gobin has removed the indirect honnef.co/go/js/util from myitcv.io's go.mod, but I think this is expected.
cc @bcmills. I note #27123 which links to #27102 and #27063; I don't think this is precisely an instance of any of those.
Apologies; I don't think this can be reproduced in a testscript test because this appears to rely on the remote import path resolution code path.
cc @rogpeppe as an FYI given his report in #27123
What version of Go are you using (
go version)?Does this issue reproduce with the latest release?
Testing with 1.12 pre the release.
What operating system and processor architecture are you using (
go env)?go envOutputWhat did you do?
This gives the output:
as expected.
However if we then:
followed by:
any number of times, the output is always:
This despite the requirement being part of the requirements graph.
What did you expect to see?
Not to see see the "finding" message.
What did you see instead?
The "finding" message as part of each
go list.Could this be something to do with the now circular module requirement
myitcv.io -> github.com/myitcv/gobin -> myitcv.io? And the fact:where both the
honnef.corequirements are not actual modules?The addition of the the requirement on
github.com/myitcv/gobinhas removed the indirecthonnef.co/go/js/utilfrommyitcv.io'sgo.mod, but I think this is expected.cc @bcmills. I note #27123 which links to #27102 and #27063; I don't think this is precisely an instance of any of those.
Apologies; I don't think this can be reproduced in a
testscripttest because this appears to rely on the remote import path resolution code path.cc @rogpeppe as an FYI given his report in #27123