Test that go files with a //go:build fileVersion earlier than go1.21
don't downgrade past go1.21.
Fixes #68658
Change-Id: If16a1b3867ad2cfa8867e60995f7d1eb801306e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/609436
Reviewed-by: Sam Thanawalla <samthanawalla@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
--- /dev/null
+# Test for issue #68658: In GOPATH mode, files with a //go:build fileVersion
+# earlier than go1.21 should downgrade to go1.21 and no further.
+
+[short] skip 'requires build'
+
+env GO111MODULE=off
+go build foo bar
+
+-- foo/main.go --
+//go:build go1.10
+
+package p
+
+import "fmt"
+
+func main() {
+ var x any // any was added in Go 1.18
+ fmt.Println(x)
+}
+
+-- bar/main.go --
+//go:build go1.20
+
+package p
+
+import "fmt"
+
+func main() {
+ y := max(1, 2) // max was added in Go 1.21
+ fmt.Println(y)
+}