diff options
-rw-r--r-- | compiler/ccgtrav.nim | 6 | ||||
-rw-r--r-- | tests/run/tclosure3.nim | 1 | ||||
-rwxr-xr-x | todo.txt | 1 |
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 |