-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
do not overwrite child def-id in place but rather remove/insert #52546
Conversation
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
When inserting a node N into the tree of impls, we sometimes find than an existing node C should be replaced with N. We used to overwrite C in place with the new def-id N -- but since the lists of def-ids are separated by simplified type, that could lead to N being inserted in the wrong place. This meant we might miss conflicts. We are now not trying to be so smart -- we remove C and then add N later.
2027584
to
4fd5aed
Compare
r? @eddyb |
r? @pnkfelix |
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.
Why not make this a ui/ test?
Ah compile-fail is fine, we’ll eventually move them all over to ui/ |
@bors r+ |
📌 Commit 4fd5aed has been approved by |
⌛ Testing commit 4fd5aed with merge c1b6bd2517d3d92e42c5ee0da82ff06c12c10db2... |
💔 Test failed - status-travis |
This comment has been minimized.
This comment has been minimized.
⌛ Testing commit 4fd5aed with merge 67ca66eebb8c5e8de50576bcf207d5e5bffa7fe5... |
💔 Test failed - status-travis |
This comment has been minimized.
This comment has been minimized.
⌛ Testing commit 4fd5aed with merge 17a666c322cf3f479daf4e1af3c2ed9aca707ea7... |
💔 Test failed - status-travis |
This comment has been minimized.
This comment has been minimized.
⌛ Testing commit 4fd5aed with merge 67cd5ad53c24c613df36b49f0d3dbf3925090535... |
💔 Test failed - status-travis |
This comment has been minimized.
This comment has been minimized.
This PR is being cursed or something.
|
do not overwrite child def-id in place but rather remove/insert When inserting a node N into the tree of impls, we sometimes find than an existing node C should be replaced with N. We used to overwrite C in place with the new def-id N -- but since the lists of def-ids are separated by simplified type, that could lead to N being inserted in the wrong place. This meant we might miss conflicts. We are now not trying to be so smart -- we remove C and then add N later. Fixes #52050 r? @aturon -- do you still remember this code at all? :)
☀️ Test successful - status-appveyor, status-travis |
When inserting a node N into the tree of impls, we sometimes find than an existing node C should be replaced with N. We used to overwrite C in place with the new def-id N -- but since the lists of def-ids are separated by simplified type, that could lead to N being inserted in the wrong place. This meant we might miss conflicts. We are now not trying to be so smart -- we remove C and then add N later.
Fixes #52050
r? @aturon -- do you still remember this code at all? :)