Fix issue 20063 - Patch closure variables when converting expressions to delegates#10196
Fix issue 20063 - Patch closure variables when converting expressions to delegates#10196dlang-bot merged 1 commit intodlang:stablefrom
Conversation
|
Thanks for your pull request and interest in making D better, @SSoulaimane! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla references
Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "stable + dmd#10196" |
| if (!vd || !pfd) | ||
| return; | ||
| // move to fd's closure when applicable | ||
| foreach (i; 0 .. pfd.closureVars.dim) |
There was a problem hiding this comment.
BTW, one should be careful when using foreach (; 0 .. max) and changing the max inside the loop, as the emitted code caches it:
https://run.dlang.io/gist/run-dlang/b0b40d58474fb7c35b22803b2432c02f?compiler=dmd
There was a problem hiding this comment.
Yes, I notice that, but the code here breaks immediately after remove() is called.
Issue 20063.