summary refs log tree commit diff stats
path: root/tests/iter/titer11.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/iter/titer11.nim')
-rw-r--r--tests/iter/titer11.nim40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/iter/titer11.nim b/tests/iter/titer11.nim
new file mode 100644
index 000000000..153b3c29a
--- /dev/null
+++ b/tests/iter/titer11.nim
@@ -0,0 +1,40 @@
+discard """
+targets: "c js"
+output: '''
+[
+1
+2
+3
+]
+'''
+"""
+
+proc represent(i: int): iterator(): string =
+  result = iterator(): string =
+    yield $i
+
+proc represent(s: seq[int]): iterator(): string =
+  result = iterator(): string =
+    yield "["
+    for i in s:
+      var events = represent(i)
+      for event in events():
+        yield event
+    yield "]"
+
+let s = @[1, 2, 3]
+var output = represent(s)
+
+for item in output():
+  echo item
+
+
+#------------------------------------------------------------------------------
+# Issue #12747
+
+type
+  ABC = ref object
+      arr: array[0x40000, pointer]
+let a = ABC()
+for a in a.arr:
+    assert a == nil
\ No newline at end of file