| Test loopclosure at go version go1.19. | |
| -- go.mod -- | |
| module golang.org/fake/versions | |
| go 1.19 | |
| -- pre.go -- | |
| //go:build go1.19 | |
| 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" | |
| }() | |
| } | |
| } |