This commit is contained in:
ringabout
2025-12-19 22:29:40 +08:00
parent 435554d2ad
commit c30d929c92

View File

@@ -127,12 +127,12 @@ proc transformSymAux(c: PTransf, n: PNode): PNode =
if s.kind in routineKinds:
body = transformBody(c.graph, c.idgen, s, {useCache}+c.flags)
if s.kind == skIterator:
if s.closureBody == nil:
let injected = injectDestructorCalls(c.graph, c.idgen, s, body)
let closureBody = transformClosureIterator(c.graph, c.idgen, s, injected)
s.closureBody = closureBody
if c.tooEarly: 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)
s.closureBody = closureBody
return liftIterSym(c.graph, n, c.idgen, getCurrOwner(c))
elif s.kind in {skProc, skFunc, skConverter, skMethod} and not c.tooEarly:
# top level .closure procs are still somewhat supported for 'Nake':
@@ -875,6 +875,7 @@ proc transformFor(c: PTransf, n: PNode): PNode =
stmtList.add(newAsgnStmt(c, nkFastAsgn, temp, arg, true))
newC.mapping[formal.itemId] = temp
let body = transformBody(c.graph, c.idgen, iter, {useCache}+c.flags)
pushInfoContext(c.graph.config, n.info)
inc(c.inlining)