summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorflywind <43030857+xflywind@users.noreply.github.com>2022-06-28 16:49:31 +0800
committerGitHub <noreply@github.com>2022-06-28 16:49:31 +0800
commit8a344cb25b9b9d1b185ba6e5a8e1cf14421fedb4 (patch)
tree9162abd0635c430ae8c4b2ced40921b629ad3987
parent7c31b6a47b5cfb6f2d1f296390eb457bd75e55c2 (diff)
downloadNim-8a344cb25b9b9d1b185ba6e5a8e1cf14421fedb4.tar.gz
closes #11042; add testcase (#19935)
close #11042; add testcase
-rw-r--r--tests/closure/t11042.nim55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/closure/t11042.nim b/tests/closure/t11042.nim
new file mode 100644
index 000000000..6a3928316
--- /dev/null
+++ b/tests/closure/t11042.nim
@@ -0,0 +1,55 @@
+discard """
+  output:'''
+foo: 1
+foo: 2
+bar: 1
+bar: 2
+foo: 1
+foo: 2
+bar: 1
+bar: 2
+bar: 3
+bar: 4
+bar: 5
+bar: 6
+bar: 7
+bar: 8
+bar: 9
+'''
+"""
+
+# bug #11042
+block:
+  iterator foo: int =
+    for x in 1..2:
+      echo "foo: ", x
+      for y in 1..2:
+        discard
+
+  for x in foo(): discard
+
+  let bar = iterator: int =
+    for x in 1..2:
+      echo "bar: ", x
+      for y in 1..2:
+        discard
+
+  for x in bar(): discard
+
+
+block:
+  iterator foo: int =
+    for x in 1..2:
+      echo "foo: ", x
+      for y in 1..2:
+        discard
+
+  for x in foo(): discard
+
+  let bar = iterator: int =
+    for x in 1..9:
+      echo "bar: ", x
+      for y in 1..2:
+        discard
+
+  for x in bar(): discard
\ No newline at end of file