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)