go.tools/cmd/vet: change message for range check
s/enclosed by function/captured by func literal/ Users complained. They often do. LGTM=josharian, adg R=golang-codereviews, josharian, nightlyone, minux, adg CC=golang-codereviews https://golang.org/cl/132080043
This commit is contained in:
parent
ba91af23b8
commit
671b9204b8
|
@ -63,7 +63,7 @@ func checkRangeLoop(f *File, node ast.Node) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
if key != nil && id.Obj == key.Obj || val != nil && id.Obj == val.Obj {
|
if key != nil && id.Obj == key.Obj || val != nil && id.Obj == val.Obj {
|
||||||
f.Bad(id.Pos(), "range variable", id.Name, "enclosed by function")
|
f.Bad(id.Pos(), "range variable", id.Name, "captured by func literal")
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
|
|
|
@ -10,24 +10,24 @@ func RangeLoopTests() {
|
||||||
var s []int
|
var s []int
|
||||||
for i, v := range s {
|
for i, v := range s {
|
||||||
go func() {
|
go func() {
|
||||||
println(i) // ERROR "range variable i enclosed by function"
|
println(i) // ERROR "range variable i captured by func literal"
|
||||||
println(v) // ERROR "range variable v enclosed by function"
|
println(v) // ERROR "range variable v captured by func literal"
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
for i, v := range s {
|
for i, v := range s {
|
||||||
defer func() {
|
defer func() {
|
||||||
println(i) // ERROR "range variable i enclosed by function"
|
println(i) // ERROR "range variable i captured by func literal"
|
||||||
println(v) // ERROR "range variable v enclosed by function"
|
println(v) // ERROR "range variable v captured by func literal"
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
for i := range s {
|
for i := range s {
|
||||||
go func() {
|
go func() {
|
||||||
println(i) // ERROR "range variable i enclosed by function"
|
println(i) // ERROR "range variable i captured by func literal"
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
for _, v := range s {
|
for _, v := range s {
|
||||||
go func() {
|
go func() {
|
||||||
println(v) // ERROR "range variable v enclosed by function"
|
println(v) // ERROR "range variable v captured by func literal"
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
for i, v := range s {
|
for i, v := range s {
|
||||||
|
@ -53,7 +53,7 @@ func RangeLoopTests() {
|
||||||
var f int
|
var f int
|
||||||
for x[0], f = range s {
|
for x[0], f = range s {
|
||||||
go func() {
|
go func() {
|
||||||
_ = f // ERROR "range variable f enclosed by function"
|
_ = f // ERROR "range variable f captured by func literal"
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue