From 7dc0bca53ae6727c67b899d979c5fe40b1deadd3 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sat, 26 Dec 2015 01:26:12 +0100 Subject: [PATCH] up references might work; got rid of debugging code --- compiler/lambdalifting.nim | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim index 00849b47e2..139a3f9ced 100644 --- a/compiler/lambdalifting.nim +++ b/compiler/lambdalifting.nim @@ -340,8 +340,6 @@ proc detectCapturedVars(n: PNode; owner: PSym; c: var DetectionPass) = # inner() takes a closure too! """ - echo "came here for ", n.sym.name.s, " proc ", owner.name.s - # mark 'owner' as taking a closure: c.somethingToDo = true markAsClosure(owner, n) @@ -351,9 +349,9 @@ proc detectCapturedVars(n: PNode; owner: PSym; c: var DetectionPass) = let obj = getHiddenParam(owner).typ.lastSon addField(obj, s) # create required upFields: - var w = ow - if false: # XXX rethink this w != owner: - var up = w + var w = ow.skipGenericOwner + if w != owner: + var up = ow while w != nil and w.kind != skModule: w = w.skipGenericOwner markAsClosure(w, n)