From e6261b91683fdb015644699a1b023ceb87531e37 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Mon, 27 Oct 2025 22:58:10 +0800 Subject: [PATCH 1/2] fixes #25122 #15353 #15353; Invalid C code generation with iterator with when nimvm --- compiler/transf.nim | 21 ++++++++++++++++++++- tests/iter/titer_issues.nim | 26 ++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/compiler/transf.nim b/compiler/transf.nim index 066be57f8763..d06fc136c532 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -321,6 +321,13 @@ proc introduceNewLocalVars(c: PTransf, n: PNode): PNode = result = n of nkVarSection, nkLetSection: result = transformVarSection(c, n) + for i in 0.. x * multiplier)) + +for unused_var in walkDir("."): + let outside = "x" + let closure = proc(): string = outside From 47f4e421d1755638078104614a7d469301515bcd Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Tue, 28 Oct 2025 12:43:06 +0800 Subject: [PATCH 2/2] Conditional import and directory walking for non-js --- tests/iter/titer_issues.nim | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/iter/titer_issues.nim b/tests/iter/titer_issues.nim index a66d27f423aa..29bfe637fca9 100644 --- a/tests/iter/titer_issues.nim +++ b/tests/iter/titer_issues.nim @@ -449,12 +449,14 @@ proc foo = foo() -import std/[os, sugar] -for file in walkDirRec("./"): - let multiplier = 5 - discard(toSeq(1..4).map(x => x * multiplier)) - -for unused_var in walkDir("."): - let outside = "x" - let closure = proc(): string = outside +when not defined(js): + import std/[os, sugar] + + for file in walkDirRec("./"): + let multiplier = 5 + discard(toSeq(1..4).map(x => x * multiplier)) + + for unused_var in walkDir("."): + let outside = "x" + let closure = proc(): string = outside