Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Fix PyInteger / float division #6195
Fix PyInteger / float division #6195
Changes from 1 commit
88473aa
ba165be
60f0f0e
20a4ddb
ffab33c
d0d6fb1
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
This code only (safely) works if
NumBinopNode.analyse_operation()
returns exactlyself
, not anything else. That is not an assumption we should generally make. It's really the whole point of returning a node that it allows us to return a different node.It's difficult to deal with this correctly, though. It's ambiguous if the base method returns a different node or even different type of node. It might be a wrapper around the original (self) node, or it might have replaced the node entirely. We can't know this here. Not sure how to handle this here.
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.
The real assumption here is that
result
containsself
(i.e.self
is still relevant and can be manipulated, even if it's wrapped in a coercion node or something like that).I've added a comment and an assert to clarify/enforce that.
I'm not hugely happy with this either though, but I think it's better than it initially looks.