From 7dc62f3bda96359cc1904f4ea387f9a1c82c9f9d Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Fri, 7 Jul 2023 09:21:58 +0700 Subject: [PATCH] test: add test cases for index value with range array clear Updates #61127 Change-Id: I5fb032c990b64bb4f455a7c0345cfb556bf263bd Reviewed-on: https://go-review.googlesource.com/c/go/+/508335 Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Run-TryBot: Cuong Manh Le Auto-Submit: Cuong Manh Le Reviewed-by: Keith Randall Reviewed-by: Keith Randall Auto-Submit: Keith Randall --- test/for.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/test/for.go b/test/for.go index 8a50090657..cfb7f6dad2 100644 --- a/test/for.go +++ b/test/for.go @@ -44,15 +44,33 @@ func main() { for sum < 100 { sum = sum + 9 } - assertequal(sum, 99 + 9, "only one") + assertequal(sum, 99+9, "only one") sum = 0 for i := 0; i <= 10; i++ { - if i % 2 == 0 { + if i%2 == 0 { continue } sum = sum + i } assertequal(sum, 1+3+5+7+9, "continue") + i = 0 + for i = range [5]struct{}{} { + } + assertequal(i, 4, " incorrect index value after range loop") + + i = 0 + var a1 [5]struct{} + for i = range a1 { + a1[i] = struct{}{} + } + assertequal(i, 4, " incorrect index value after array with zero size elem range clear") + + i = 0 + var a2 [5]int + for i = range a2 { + a2[i] = 0 + } + assertequal(i, 4, " incorrect index value after array range clear") } -- 2.44.0