1
0
mirror of https://github.com/golang/go synced 2024-11-23 15:10:12 -07:00
go/test/fixedbugs/issue50372.go
Robert Griesemer f009910625 cmd/compile/internal/types2: better error message for invalid range clause
Fixes #50372.

Change-Id: I8e4c0020dae42744cce016433e398e0b884bb044
Reviewed-on: https://go-review.googlesource.com/c/go/+/375475
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
2022-01-06 16:22:21 +00:00

30 lines
964 B
Go

// errorcheck -G=3
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package p
func _(s []int) {
var i, j, k, l int
_, _, _, _ = i, j, k, l
for range s {}
for i = range s {}
for i, j = range s {}
for i, j, k = range s {} // ERROR "range clause permits at most two iteration variables"
for i, j, k, l = range s {} // ERROR "range clause permits at most two iteration variables"
}
func _(s chan int) {
var i, j, k, l int
_, _, _, _ = i, j, k, l
for range s {}
for i = range s {}
for i, j = range s {} // ERROR "range over .* permits only one iteration variable"
for i, j, k = range s {} // ERROR "range over .* permits only one iteration variable"
for i, j, k, l = range s {} // ERROR "range over .* permits only one iteration variable"
}