summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/ccgtrav.nim6
-rw-r--r--tests/run/tclosure3.nim1
-rwxr-xr-xtodo.txt1
3 files changed, 4 insertions, 4 deletions
diff --git a/compiler/ccgtrav.nim b/compiler/ccgtrav.nim
index 75357ff46..1ff6346f6 100644
--- a/compiler/ccgtrav.nim
+++ b/compiler/ccgtrav.nim
@@ -80,8 +80,10 @@ proc genTraverseProc(c: var TTraversalClosure, accessor: PRope, typ: PType) =
         genTraverseProc(c, ropef("$1.Field$2", accessor, i.toRope), typ.sons[i])
   of tyRef, tyString, tySequence:
     lineCg(p, cpsStmts, c.visitorFrmt, accessor)
-  else: 
-    # no marker procs for closures yet
+  of tyProc:
+    if typ.callConv == ccClosure:
+      lineCg(p, cpsStmts, c.visitorFrmt, ropef("$1.ClEnv", accessor))
+  else:
     nil
 
 proc genTraverseProcSeq(c: var TTraversalClosure, accessor: PRope, typ: PType) =
diff --git a/tests/run/tclosure3.nim b/tests/run/tclosure3.nim
index 6dee49aea..b2748035b 100644
--- a/tests/run/tclosure3.nim
+++ b/tests/run/tclosure3.nim
@@ -1,7 +1,6 @@
 discard """
   file: "tclosure3.nim"
   output: "success"
-  disabled: true
 """
 
 proc main =
diff --git a/todo.txt b/todo.txt
index afa90cc70..d809f3902 100755
--- a/todo.txt
+++ b/todo.txt
@@ -3,7 +3,6 @@ version 0.9.0
 
 - implicit deref for parameter matching
 - deprecate ``var x, y = 0`` as it's confusing for tuple consistency
-- test sequence of closures; especially that the GC does not leak for those!
 
 New pragmas:
 - ``hoist`` pragma for loop hoisting