-
Notifications
You must be signed in to change notification settings - Fork 14k
Fix invalid tag closing when leaving expansion "original code" #148213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Currently reading through PR #146992 commit by commit to catch up.)
Quick side note: ElementStackClassStack is not actually a stack, it's a tree!
Reading through this for the first time that's a bit confusing (moreso the resulting method names like (was renamed in a later commit)).enter_stack don't help me form an intuition (granted, it's 2AM for me rn and I'm only skimming the code)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nah, it used to be a tree, it's now a stack (always one child). :3
|
Looks good! |
|
Thanks for the review! @bors r=yotamofek rollup |
…on, r=yotamofek Fix invalid tag closing when leaving expansion "original code" Fixes rust-lang#148184. Problem was that in case an element inside the expansion's "original" element was not closed, this element would get its `pending_exit` field set to `true`, removing it when the next non-mergeable item gets pushed instead of being put inside it, and then next `exit_elem` would try to exit an empty class queue. r? `@notriddle`
…on, r=yotamofek Fix invalid tag closing when leaving expansion "original code" Fixes rust-lang#148184. Problem was that in case an element inside the expansion's "original" element was not closed, this element would get its `pending_exit` field set to `true`, removing it when the next non-mergeable item gets pushed instead of being put inside it, and then next `exit_elem` would try to exit an empty class queue. r? ``@notriddle``
…on, r=yotamofek Fix invalid tag closing when leaving expansion "original code" Fixes rust-lang#148184. Problem was that in case an element inside the expansion's "original" element was not closed, this element would get its `pending_exit` field set to `true`, removing it when the next non-mergeable item gets pushed instead of being put inside it, and then next `exit_elem` would try to exit an empty class queue. r? ````@notriddle````
Rollup of 7 pull requests Successful merges: - #146861 (add extend_front to VecDeque with specialization like extend) - #148213 (Fix invalid tag closing when leaving expansion "original code") - #148292 (Un-shadow object bound candidate in `NormalizesTo` goal if self_ty is trait object) - #148528 (run-make tests: use edition 2024) - #148554 (Add regression test for issue 148542) - #148561 (Fix ICE from async closure variance) - #148563 (rustdoc-search: remove broken index special case) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #148213 - GuillaumeGomez:fix-exit-of-expansion, r=yotamofek Fix invalid tag closing when leaving expansion "original code" Fixes #148184. Problem was that in case an element inside the expansion's "original" element was not closed, this element would get its `pending_exit` field set to `true`, removing it when the next non-mergeable item gets pushed instead of being put inside it, and then next `exit_elem` would try to exit an empty class queue. r? ```@notriddle```
Fixes #148184.
Problem was that in case an element inside the expansion's "original" element was not closed, this element would get its
pending_exitfield set totrue, removing it when the next non-mergeable item gets pushed instead of being put inside it, and then nextexit_elemwould try to exit an empty class queue.r? @notriddle