# https://golang.org/issue/46142: 'go mod tidy' should error out if the version
# in the go.mod file is newer than the most recent supported version.

cp go.mod go.mod.orig


# If the go.mod file specifies an unsupported Go version, 'go mod tidy' should
# refuse to edit it: we don't know what a tidy go.mod file for that version
# would look like.

! go mod tidy
stderr 'go mod tidy: go.mod file indicates go 2000.0, but maximum supported version is '$goversion'$'
cmp go.mod go.mod.orig


# The -e flag should push past the error and edit the file anyway,
# but preserve the too-high version.

cp go.mod.orig go.mod
go mod tidy -e
stderr 'go mod tidy: go.mod file indicates go 2000.0, but maximum supported version is '$goversion'$'
cmp go.mod go.mod.tidy


# Explicitly switching to a supported version should suppress the error completely.

cp go.mod.orig go.mod
go mod tidy -go=1.17
! stderr 'maximum supported version'
go mod edit -go=1.17 go.mod.tidy
cmp go.mod go.mod.tidy


-- go.mod --
module example.net/from/the/future

go 2000.0

replace example.net/m v0.0.0 => ./m
-- go.mod.tidy --
module example.net/from/the/future

go 2000.0

replace example.net/m v0.0.0 => ./m

require example.net/m v0.0.0
-- x.go --
package x

import "example.net/m"
-- m/go.mod --
module example.net/m

go 1.17
-- m/m.go --
package m
