From 0106cfdbe2908f90d8315b6dca0b3ab09f485c35 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Thu, 18 Dec 2025 21:48:12 +0800 Subject: [PATCH] oops --- compiler/transf.nim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/transf.nim b/compiler/transf.nim index e9ecf9bc3a..5187f05346 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -129,9 +129,10 @@ proc transformSymAux(c: PTransf, n: PNode): PNode = if s.kind == skIterator: if c.tooEarly: return n else: - let transformedBody = injectDestructorCalls(c.graph, c.idgen, s, body) - let closureBody = transformClosureIterator(c.graph, c.idgen, s, transformedBody) - s.closureBody = closureBody + if s.closureBody == nil: + let transformedBody = injectDestructorCalls(c.graph, c.idgen, s, body) + let closureBody = transformClosureIterator(c.graph, c.idgen, s, transformedBody) + 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':