-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Remove TypeckTables::empty(None)
and make hir_owner non-optional.
#73751
Conversation
@bors try rollup=never @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit e04c197165543ccd5d39c548a882a55edc68b2cd with merge 76da4feb08c1227c6fbff8370522c75e606b3195... |
☀️ Try build successful - checks-azure |
Queued 76da4feb08c1227c6fbff8370522c75e606b3195 with parent 1033351, future comparison URL. |
Finished benchmarking try commit (76da4feb08c1227c6fbff8370522c75e606b3195): comparison url. |
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.
r=me with some comments about why we can be sure the options are Some
b873d23
to
4118090
Compare
@bors r=nikomatsakis |
📌 Commit 4118090 has been approved by |
Remove `TypeckTables::empty(None)` and make hir_owner non-optional. Each commit before the last one removes uses of `TypeckTables::empty(None)`, replacing the empty tables with having `Option` around the `&'tcx TypeckTables<'tcx>` that HIR visitors kept track of. The last commit removes the concept of "empty `TypeckTables`" altogether, guaranteeing that every `TypeckTables` corresponds to a HIR body owner. r? @nikomatsakis
@bors rollup=never (maybe it didn't trigger the previous time I did this) |
@bors p=1 |
⌛ Testing commit 4118090 with merge 187f6164577d9bbc9428e2f1d2ecb91cd0fb7ec2... |
💔 Test failed - checks-actions |
I just realized that the test that was failing to build (not to run, so I would've never seen) is the only test, not just one of many, and is responsible for running the actual clippy test suite. So now I have to go back and make sure this is doable at all wrt clippy. |
Well, looks like this works for tracking down which ./x.py test src/tools/clippy | rg "thread 'rustc' panicked at '`LateContext::tables` called outside of body'" Deduplicated, it's only these
I anticipated Since there's more than one example of The other ones are short-lived contexts that probably just need an |
@bors r+ |
📌 Commit 5ec300f1c05520d2f651bec7e37124d10fed448c has been approved by |
⌛ Testing commit 5ec300f1c05520d2f651bec7e37124d10fed448c with merge 4c651407741c538614ac95257e82d6eefcbdca3b... |
This comment has been minimized.
This comment has been minimized.
@bors r=nikomatsakis |
📌 Commit 4b2d9e6 has been approved by |
☀️ Test successful - checks-actions, checks-azure |
This was a perf win on landing, mostly on |
Each commit before the last one removes uses of
TypeckTables::empty(None)
, replacing the empty tables with havingOption
around the&'tcx TypeckTables<'tcx>
that HIR visitors kept track of.The last commit removes the concept of "empty
TypeckTables
" altogether, guaranteeing that everyTypeckTables
corresponds to a HIR body owner.r? @nikomatsakis