summary refs log tree commit diff stats
path: root/tests/template
diff options
context:
space:
mode:
Diffstat (limited to 'tests/template')
-rw-r--r--tests/template/template_issues.nim21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/template/template_issues.nim b/tests/template/template_issues.nim
index e56d44480..420373e61 100644
--- a/tests/template/template_issues.nim
+++ b/tests/template/template_issues.nim
@@ -8,6 +8,9 @@ hi
 Hello, World!
 (e: 42)
 hey
+foo
+foo
+foo
 '''
 """
 
@@ -245,3 +248,21 @@ proc foo(): auto =
     echo "hey"
 
 discard foo()
+
+
+# bug #4722
+type
+  IteratorF*[In] = iterator() : In {.closure.}
+
+template foof(In: untyped) : untyped = 
+  proc ggg*(arg: IteratorF[In]) =
+    for i in arg():
+      echo "foo"
+
+
+iterator hello() : int {.closure.} =
+  for i in 1 .. 3:
+    yield i
+    
+foof(int)
+ggg(hello)