-
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
rustc: rewrite the HirId validator to only check HIR map compactness. #65837
Conversation
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit d85eab33a7ee8d87f351b8debc8c337d67b49282 with merge 4c60a7cbc36d1e73e33c8faf96f5eed91bb95bf9... |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
d85eab3
to
26e0711
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit 26e071163a2f7f97c9bcbddd7bc4841392c52951 with merge 5d5564441d81a42987f56955337921ed997ea920... |
☀️ Try build successful - checks-azure |
Queued 5d5564441d81a42987f56955337921ed997ea920 with parent 084edc4, future comparison URL. |
Finished benchmarking try commit 5d5564441d81a42987f56955337921ed997ea920, comparison URL. |
Thanks, @eddyb! I've added it to my review queue. |
42c7bbb
to
995ad5a
Compare
I think I've found another way of keeping the HIR validator working with non-item-like I'll probably use that technique to simplify various other visitors, so that they don't end up hardcoding what's an owner and what's not (eventually we might have a "def" concept that replaces it). EDIT: I've since realized that it would be easier and more productive to just add a |
This comment has been minimized.
This comment has been minimized.
995ad5a
to
0d10a39
Compare
☔ The latest upstream changes (presumably #66180) made this pull request unmergeable. Please resolve the merge conflicts. |
Ping from Triage: any updates @eddyb? |
This has been waiting for a review from @michaelwoerister since #65837 (comment). |
Yeah, I need to page in a lot of information in order to review this and haven't had the time to do that yet. |
Before I spend too much time on finding out how the HirId validator works in detail, would it be an option to just hide validation behind a |
Ping from triage |
Pinging again from triage |
Pinging again from triage - |
Ping from Triage: closing due to inactivity. Please re-open with changes @eddyb - Thanks for the PR |
This should be cheaper than the current validator, and not assume item-like owners, but I did have to add a few more kinds of nodes to the HIR map, so that every node with a
HirId
is in it.AFAICT, collecting the HIR map in the first place already checks owners, and I didn't want to duplicate any complications to that for #63849 (comment) (making all nodes with a
DefId
intoHirId
owners).I've also cleaned up the errors to be more useful in determining the "neighborhood" of nodes around missing
HirId
s, at a glance (we can probably do even better but there's little point at this time).r? @michaelwoerister cc @nikomatsakis