# 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