# Populate go.sum.
go get

# 'go list -m -retracted' should load retractions, even if the version
# containing retractions has a different module path.
go list -m -retracted -f '{{with .Retracted}}retracted{{end}}' example.com/retract/rename

# 'go list -m -u' should load retractions, too.
go list -m -u -f '{{with .Retracted}}retracted{{end}}' example.com/retract/rename

# 'go get' should warn about the retracted version.
go get
stderr '^go: warning: example.com/retract/rename@v1.0.0-bad: retracted by module author: bad$'

# We can't upgrade, since this latest version has a different module path.
! go get example.com/retract/rename
stderr 'module declares its path as: example.com/retract/newname'

-- go.mod --
module example.com/use

go 1.16

require example.com/retract/rename v1.0.0-bad
-- use.go --
package use

import _ "example.com/retract/rename"
