blob: b69c0aeb7cd34b63b24d1e1fa7855ac35098da3f [file]
This test shows we prefer rangeable funcs in range statements.
-- flags --
-ignore_extra_diags
-- range_func.go --
package rangefunc
func iterNot(func(int)) {}
func iter0(func() bool) {}
func iter1(func(int) bool) {}
func iter2(func(int, int) bool)
func _() {
for range i { //@rank(re"() {", "iter0", "iterNot"),rank(re"() {", "iter1", "iterNot"),rank(re"() {", "iter2", "iterNot")
}
for k := range i { //@rank(re"() {", "iter1", "iterNot"),rank(re"() {", "iter1", "iter0"),rank(re"() {", "iter2", "iter0")
}
for k, v := range i { //@rank(re"() {", "iter2", "iterNot"),rank(re"() {", "iter2", "iter0"),rank(re"() {", "iter2", "iter1")
}
}