summary refs log tree commit diff stats
path: root/compiler/lambdalifting.nim
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@gmail.com>2016-04-04 12:06:42 +0100
committerDominik Picheta <dominikpicheta@gmail.com>2016-04-04 12:06:42 +0100
commit436b0031736b7b569f18a90c67e62a483716037a (patch)
treed938d5efd6ea4125c9f5d543ccca7489e637a4cb /compiler/lambdalifting.nim
parenta70e6b3fde7c251aff68243de1c7adcebc3c67e3 (diff)
parentfbedb6c65514e394f163a68dd530d19d310afadf (diff)
downloadNim-436b0031736b7b569f18a90c67e62a483716037a.tar.gz
Merge branch 'devel' of github.com:nim-lang/Nim into devel
Diffstat (limited to 'compiler/lambdalifting.nim')
-rw-r--r--compiler/lambdalifting.nim4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim
index 53fca4863..959632bab 100644
--- a/compiler/lambdalifting.nim
+++ b/compiler/lambdalifting.nim
@@ -721,6 +721,10 @@ proc liftCapturedVars(n: PNode; owner: PSym; d: DetectionPass;
       let m = newSymNode(n[namePos].sym)
       m.typ = n.typ
       result = liftCapturedVars(m, owner, d, c)
+  of nkHiddenStdConv:
+    if n.len == 2:
+      n.sons[1] = liftCapturedVars(n[1], owner, d, c)
+      if n[1].kind == nkClosure: result = n[1]
   else:
     if owner.isIterator:
       if n.kind == nkYieldStmt: