go work init
go work use . ./sub

# Verify that the go.mod files for both modules in the workspace are tidy,
# and add missing go.sum entries as needed.

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

cd sub
cp go.mod go.mod.orig
go mod tidy
cmp go.mod go.mod.orig
cd ..

go list -m all
stdout '^rsc\.io/quote v1\.5\.1$'
stdout '^rsc\.io/sampler v1\.3\.1$'

# Now remove the module dependencies from the module cache.
# Because one module upgrades a transitive dependency needed by another,
# listing the modules in the workspace should error out.

go clean -modcache
env GOPROXY=off
! go list -m all
stderr '^go: rsc.io/sampler@v1.3.0: module lookup disabled by GOPROXY=off$'

-- example.go --
package example

import _ "rsc.io/sampler"
-- go.mod --
module example

go 1.19

require rsc.io/sampler v1.3.0

require (
	golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect
	rsc.io/testonly v1.0.0 // indirect
)
-- sub/go.mod --
module example/sub

go 1.19

require rsc.io/quote v1.5.1

require (
	golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect
	rsc.io/sampler v1.3.1 // indirect
)
-- sub/sub.go --
package example

import _ "rsc.io/quote"
