mirror of
https://github.com/golang/go.git
synced 2024-09-21 10:28:27 +00:00
cmd/compile: verify that rangefunc assigning to no vars works
This adds a test for for range seq2rangefunc { ... } and for onevar := range seq2rangefunc { ... } For #65236. Change-Id: I083f8e4c19eb4ba0d6024d5314ac29d941141778 Reviewed-on: https://go-review.googlesource.com/c/go/+/596135 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
d0a468e52c
commit
4f237ffd16
@ -285,6 +285,26 @@ var fail []error = []error{
|
||||
errorString(CERR_MISSING),
|
||||
}
|
||||
|
||||
// TestNoVars ensures that versions of rangefunc that use zero or one
|
||||
// iteration variable (instead of two) run the proper number of times
|
||||
// and in the one variable case supply the proper values.
|
||||
// For #65236.
|
||||
func TestNoVars(t *testing.T) {
|
||||
i, k := 0, 0
|
||||
for range Check2(OfSliceIndex([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10})) {
|
||||
i++
|
||||
}
|
||||
for j := range Check2(OfSliceIndex([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10})) {
|
||||
k += j
|
||||
}
|
||||
if i != 10 {
|
||||
t.Errorf("Expected 10, got %d", i)
|
||||
}
|
||||
if k != 45 {
|
||||
t.Errorf("Expected 45, got %d", k)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheck(t *testing.T) {
|
||||
i := 0
|
||||
defer func() {
|
||||
|
Loading…
Reference in New Issue
Block a user