Skip to content

Conversation

@yglukhov
Copy link
Member

@yglukhov yglukhov commented Nov 24, 2025

Returning or yielding from a closureiter must restore "external" exception, but popCurrentException from blockLeaveActions was getting in the way. So now blockLeaveActions doesn't emit popCurrentException for returns in closureiters. I'm not a fan of this "abstraction leakage", but don't see a better solution yet. Any input is much appreciated.

@yglukhov yglukhov marked this pull request as ready for review November 26, 2025 10:54
@Araq Araq added the merge_when_passes_CI mergeable once green label Nov 27, 2025
@Araq Araq merged commit 6656084 into nim-lang:devel Nov 27, 2025
18 checks passed
@github-actions
Copy link
Contributor

Thanks for your hard work on this PR!
The lines below are statistics of the Nim compiler built from 6656084

Hint: mm: orc; opt: speed; options: -d:release
190174 lines; 10.573s; 814.664MiB peakmem

narimiran pushed a commit that referenced this pull request Nov 27, 2025
Returning or yielding from a closureiter must restore "external"
exception, but `popCurrentException` from `blockLeaveActions` was
getting in the way. So now `blockLeaveActions` doesn't emit
`popCurrentException` for returns in closureiters. I'm not a fan of this
"abstraction leakage", but don't see a better solution yet. Any input is
much appreciated.

---------

Co-authored-by: Andreas Rumpf <[email protected]>
(cherry picked from commit 6656084)
@yglukhov yglukhov deleted the fix-25261 branch November 29, 2025 19:58
@arnetheduck
Copy link
Contributor

cc @narimiran to be backported please!

@narimiran
Copy link
Member

cc @narimiran to be backported please!

It has already been backported to version-2-2 three days ago :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge_when_passes_CI mergeable once green

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants