aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/rangefunc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/rangefunc')
-rw-r--r--src/cmd/compile/internal/rangefunc/rangefunc_test.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/rangefunc/rangefunc_test.go b/src/cmd/compile/internal/rangefunc/rangefunc_test.go
index 1d0bed05c8..acf0ef6e09 100644
--- a/src/cmd/compile/internal/rangefunc/rangefunc_test.go
+++ b/src/cmd/compile/internal/rangefunc/rangefunc_test.go
@@ -2119,3 +2119,27 @@ func TestTwoLevelReturnCheck(t *testing.T) {
t.Errorf("Expected y=3, got y=%d\n", y)
}
}
+
+func Bug70035(s1, s2, s3 []string) string {
+ var c1 string
+ for v1 := range slices.Values(s1) {
+ var c2 string
+ for v2 := range slices.Values(s2) {
+ var c3 string
+ for v3 := range slices.Values(s3) {
+ c3 = c3 + v3
+ }
+ c2 = c2 + v2 + c3
+ }
+ c1 = c1 + v1 + c2
+ }
+ return c1
+}
+
+func Test70035(t *testing.T) {
+ got := Bug70035([]string{"1", "2", "3"}, []string{"a", "b", "c"}, []string{"A", "B", "C"})
+ want := "1aABCbABCcABC2aABCbABCcABC3aABCbABCcABC"
+ if got != want {
+ t.Errorf("got %v, want %v", got, want)
+ }
+}