# Regression test for https://golang.org/issue/37438.
#
# If a path exists at the requested version, but does not exist at the
# version of the module that is already required and does not exist at
# the version that would be selected by 'go mod tidy', then
# 'go get foo@requested' should resolve the requested version,
# not error out on the (unrelated) latest one.

go get example.net/a/p@v0.2.0

-- go.mod --
module example

go 1.15

require example.net/a v0.1.0

replace (
	example.net/a v0.1.0 => ./a1
	example.net/a v0.2.0 => ./a2
	example.net/a v0.3.0 => ./a1
)

-- a1/go.mod --
module example.net/a

go 1.15
-- a1/README --
package example.net/a/p does not exist at this version.

-- a2/go.mod --
module example.net/a

go 1.15
-- a2/p/p.go --
// Package p exists only at v0.2.0.
package p