Sorry, something went wrong.
There was a problem hiding this comment.
This looks good as a backportable fix for the immediate issue.
As a longer-term follow-up, we should at the very least add asserts in the compiler to guarantee the line-number invariants we are supposed to provide (per PEP 626) rather than only catching issues downstream as in this case. (And possibly also adjust the compiler to automatically apply the restructuring done by this diff in cases where it's necessary to meet those invariants.)
Do you already have an issue for those follow-ups? If not, let's create one?
Sorry, something went wrong.
|
Thanks. I agree, and I don't have an issue for the followup yet. |
Sorry, something went wrong.
|
Thanks @iritkatriel for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11. |
Sorry, something went wrong.
|
Sorry @iritkatriel, I had trouble checking out the 3.11 backport branch. |
Sorry, something went wrong.
|
Thanks @iritkatriel for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11. |
Sorry, something went wrong.
|
Sorry, @iritkatriel, I could not cleanly backport this to 3.11 due to a conflict. |
Sorry, something went wrong.
|
GH-103816 is a backport of this pull request to the 3.11 branch. |
Sorry, something went wrong.
We had some virtual instructions with no line number because the whole block is virtual and it has two predecessors.
This PR changes the control flow graph a little to avoid that.
We need to think about how to make the compiler do this automatically, but for now this fixes the bug that was reported.