summary refs log tree commit diff stats
path: root/tests/iter
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-01-22 17:32:38 +0100
committerAraq <rumpf_a@web.de>2014-01-22 17:32:38 +0100
commit37229df7fc044fe108d2f4d88f127141cabeb6a6 (patch)
tree2dd7dbacaa4afecdd9c6bde5180c43df24b0a914 /tests/iter
parent85a5bfe60520a59ff9ce493dfa65bf9cbd86059e (diff)
downloadNim-37229df7fc044fe108d2f4d88f127141cabeb6a6.tar.gz
next steps for closure iterators
Diffstat (limited to 'tests/iter')
-rw-r--r--tests/iter/tanoniter1.nim32
-rw-r--r--tests/iter/titer2.nim2
2 files changed, 33 insertions, 1 deletions
diff --git a/tests/iter/tanoniter1.nim b/tests/iter/tanoniter1.nim
new file mode 100644
index 000000000..9db5ab8ec
--- /dev/null
+++ b/tests/iter/tanoniter1.nim
@@ -0,0 +1,32 @@
+discard """
+  output: '''1
+2
+3
+4
+1
+2'''
+"""
+
+proc factory(a, b: int): iterator (): int =
+  iterator foo(): int =
+    var x = a
+    while x <= b:
+      yield x
+      inc x
+  return foo
+
+proc factory2(a, b: int): iterator (): int =
+  return iterator (): int =
+    var x = a
+    while x <= b:
+      yield x
+      inc x
+
+let foo = factory 1, 4
+
+for f in foo():
+  echo f
+
+let foo2 = factory2 1,2
+
+for f in foo2(): echo f
diff --git a/tests/iter/titer2.nim b/tests/iter/titer2.nim
index dab2713e8..f8967109e 100644
--- a/tests/iter/titer2.nim
+++ b/tests/iter/titer2.nim
@@ -1,6 +1,6 @@
 discard """
   output: '''true'''
-  cmd: "nimrod cc --gc:none --hints:on $# $#"
+  cmd: "nimrod cc --gc:none --hints:on --warnings:off $# $#"
 """
 
 import hashes