go mod tidy
cp go.mod go.mod.orig

# If there is no sensible *package* meaning for 'm/p', perhaps it should refer
# to *module* m/p?
# Today, it still seems to refer to the package.

! go get -d m/p@v0.1.0
stderr 'go get m/p@v0.1.0: module m/p@latest found \(v0.1.0, replaced by ./mp01\), but does not contain package m/p'
cmp go.mod.orig go.mod


# TODO(#37438): If we add v0.2.0 before this point, we end up (somehow!)
# resolving m/p@v0.1.0 as *both* a module and a package.

cp go.mod.orig go.mod
go mod edit -replace=m@v0.2.0=./m02
go mod edit -replace=m/p@v0.2.0=./mp02

# The argument 'm/p' in 'go get m/p' refers to *package* m/p,
# which is in module m.
#
# (It only refers to *module* m/p if there is no such package at the
# requested version.)

go get -d m/p@v0.2.0
go list -m all
stdout '^m v0.2.0 '
stdout '^m/p v0.1.0 '

# Repeating the above with module m/p already in the module graph does not
# change its meaning.

go get -d m/p@v0.2.0
go list -m all
stdout '^m v0.2.0 '
stdout '^m/p v0.1.0 '


# TODO(#37438): If we add v0.3.0 before this point, we get a totally bogus error
# today, because 'go get' ends up attempting to resolve package 'm/p' without a
# specific version and can't find it if module m no longer contains v0.3.0.

cp go.mod.orig go.mod
go mod edit -replace=m@v0.3.0=./m03
go mod edit -replace=m/p@v0.3.0=./mp03

! go get -d m/p@v0.2.0
stderr 'go get m/p@v0.2.0: module m/p@latest found \(v0.3.0, replaced by ./mp03\), but does not contain package m/p$'

# If there is no sensible package meaning for 'm/p', perhaps it should refer
# to *module* m/p?
# Today, it still seems to refer to the package.

! go get -d m/p@v0.3.0
stderr '^go get m/p@v0.3.0: module m/p@latest found \(v0\.3\.0, replaced by \./mp03\), but does not contain package m/p$'


-- go.mod --
module example.com

go 1.16

replace (
	m v0.1.0 => ./m01
	m/p v0.1.0 => ./mp01
)
-- m01/go.mod --
module m

go 1.16
-- m01/README.txt --
Module m at v0.1.0 does not yet contain package p.

-- m02/go.mod --
module m

go 1.16

require m/p v0.1.0
-- m02/p/p.go --
// Package p is present in module m, but not module m/p.
package p

-- m03/go.mod --
module m

go 1.16

require m/p v0.1.0
-- m03/README.txt --
Module m at v0.3.0 no longer contains package p.

-- mv2/go.mod --
module m/v2

go 1.16
-- mv2/README.txt --
This module is m/v2. It doesn't actually need to exist,
but it explains how module m could plausibly exist
and still contain package p at 'latest' even when module
m/p also exists.

-- mp01/go.mod --
module m/p

go 1.16
-- mp01/README.txt --
This module is m/p.
Package m/p does not exist in this module.
-- mp02/go.mod --
module m/p

go 1.16
-- mp02/README.txt --
This module is m/p.
Package m/p does not exist in this module.
-- mp03/go.mod --
module m/p

go 1.16
-- mp03/README.txt --
This module is m/p.
Package m/p does not exist in this module.
