blob: abdeb707582a744baabef03f508bcbb1f7e5ff85 [file]
Test loopclosure at go version go1.18.
-- go.mod --
module golang.org/fake/versions
go 1.18
-- pre.go --
//go:build go1.18
package versions
func InGo18(l []int) {
for i, v := range l {
go func() {
print(i) // want "loop variable i captured by func literal"
print(v) // want "loop variable v captured by func literal"
}()
}
}
-- go22.go --
//go:build go1.22
package versions
func InGo22(l []int) {
for i, v := range l {
go func() {
print(i) // Not reported due to file's GoVersion.
print(v) // Not reported due to file's GoVersion.
}()
}
}
-- modver.go --
package versions
func At18FromModuleVersion(l []int) {
for i, v := range l {
go func() {
print(i) // want "loop variable i captured by func literal"
print(v) // want "loop variable v captured by func literal"
}()
}
}