diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim index 3c8f4317cd..8b9e6ad280 100644 --- a/compiler/lambdalifting.nim +++ b/compiler/lambdalifting.nim @@ -771,6 +771,8 @@ proc liftCapturedVars(n: PNode; owner: PSym; d: var DetectionPass; let oldInContainer = c.inContainer c.inContainer = 0 var body = transformBody(d.graph, d.idgen, s, {}) + if not d.processed.containsOrIncl(s.id): + detectCapturedVars(body, s, d) body = liftCapturedVars(body, s, d, c) if c.envVars.getOrDefault(s.id).isNil: s.transformedBody = body