diff --git a/compiler/transf.nim b/compiler/transf.nim index ce42b684cd..092b11c28a 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -1319,7 +1319,7 @@ 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: + if prc.isIterator and prc.closureBody == nil: if sfInjectDestructors in prc.flags: result = injectDestructorCalls(c.graph, c.idgen, prc, result) result = g.transformClosureIterator(c.idgen, prc, result)