# Test support for declaring needed Go version in module.

env GO111MODULE=on

go list
go build
go build sub.1
go build subver.1
! stderr 'module requires'
! go build badsub.1
stderr 'module requires Go 1.11111'

go build versioned.1
go mod edit -require versioned.1@v1.1.0
! go build versioned.1
stderr 'module requires Go 1.99999'

-- go.mod --
module m
go 1.999
require (
	sub.1 v1.0.0
	subver.1 v1.0.0
	badsub.1 v1.0.0
	versioned.1 v1.0.0
)
replace (
	sub.1 => ./sub
	subver.1 => ./subver
	badsub.1 => ./badsub
	versioned.1 v1.0.0 => ./versioned1
	versioned.1 v1.1.0 => ./versioned2
)

-- x.go --
package x

-- sub/go.mod --
module m
go 1.11

-- sub/x.go --
package x

-- subver/go.mod --
module m
go 1.11111

-- subver/x.go --
package x

-- badsub/go.mod --
module m
go 1.11111

-- badsub/x.go --
package x
invalid syntax

-- versioned1/go.mod --
module versioned
go 1.0

-- versioned1/x.go --
package x

-- versioned2/go.mod --
module versioned
go 1.99999

-- versioned2/x.go --
package x
invalid syntax
