From c48f887a724eb8fb2b3d44d601751ce57482e815 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Sun, 11 Jan 2026 21:44:20 +0800 Subject: [PATCH] progress --- compiler/cgen.nim | 6 +----- compiler/transf.nim | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/compiler/cgen.nim b/compiler/cgen.nim index f9873e183a..7298535a28 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -1316,11 +1316,7 @@ proc genProcLvl3*(m: BModule, prc: PSym) = var returnStmt: Snippet = "" assert(prc.ast != nil) - var procBody: PNode = nil - if prc.closureBody != nil: - procBody = prc.closureBody - else: - procBody = transformBody(m.g.graph, m.idgen, prc, {}) + var procBody = transformBody(m.g.graph, m.idgen, prc, {}) let tmpInfo = prc.info discard freshLineInfo(p, prc.info) diff --git a/compiler/transf.nim b/compiler/transf.nim index 218bd9413e..b63481f756 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -1318,11 +1318,10 @@ proc transformBody*(g: ModuleGraph; idgen: IdGenerator; prc: PSym; flags: Transf liftDefer(c, result) result = liftLocalsIfRequested(prc, result, g.cache, g.config, c.idgen) - if prc.isIterator and prc.closureBody == nil: + if prc.isIterator: if sfInjectDestructors in prc.flags: result = injectDestructorCalls(c.graph, c.idgen, prc, result) result = g.transformClosureIterator(c.idgen, prc, result) - prc.closureBody = result incl(result.flags, nfTransf)