mirror of
https://github.com/nim-lang/Nim.git
synced 2026-08-14 11:04:34 +00:00
progress
This commit is contained in:
@@ -687,8 +687,9 @@ proc liftCapturedVars(n: PNode; owner: PSym; d: var DetectionPass;
|
||||
finishClosureCreation(s, d, c, n.info, s.transformedBody)
|
||||
|
||||
if isIterator(s) and s.closureBody == nil:
|
||||
let injected = injectDestructorCalls(d.graph, d.idgen, s, body)
|
||||
let closureBody = transformClosureIterator(d.graph, d.idgen, s, injected)
|
||||
if sfInjectDestructors in s.flags:
|
||||
body = injectDestructorCalls(d.graph, d.idgen, s, body)
|
||||
let closureBody = transformClosureIterator(d.graph, d.idgen, s, body)
|
||||
s.closureBody = closureBody
|
||||
c.inContainer = oldInContainer
|
||||
|
||||
|
||||
@@ -131,8 +131,9 @@ proc transformSymAux(c: PTransf, n: PNode): PNode =
|
||||
return n
|
||||
else:
|
||||
if s.closureBody == nil:
|
||||
let injected = injectDestructorCalls(c.graph, c.idgen, s, body)
|
||||
let closureBody = transformClosureIterator(c.graph, c.idgen, s, injected)
|
||||
if sfInjectDestructors in s.flags:
|
||||
body = injectDestructorCalls(c.graph, c.idgen, s, body)
|
||||
let closureBody = transformClosureIterator(c.graph, c.idgen, s, body)
|
||||
s.closureBody = closureBody
|
||||
return liftIterSym(c.graph, n, c.idgen, getCurrOwner(c))
|
||||
elif s.kind in {skProc, skFunc, skConverter, skMethod} and not c.tooEarly:
|
||||
|
||||
Reference in New Issue
Block a user