-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Intern place projection #65315
Intern place projection #65315
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 |
4e25e07
to
27146b4
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
27146b4
to
2eb0f8f
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit 2eb0f8f8c34890f9f964bd6a112d6455dfc6e2d3 with merge 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5... |
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 |
☀️ Try build successful - checks-azure |
Queued 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5 with parent 0e8a4b4, future comparison URL. |
Finished benchmarking try commit 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5, comparison URL. |
2eb0f8f
to
9d4618e
Compare
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 |
☔ The latest upstream changes (presumably #65570) made this pull request unmergeable. Please resolve the merge conflicts. |
src/librustc/ty/codec.rs
Outdated
{ | ||
let base: mir::PlaceBase<'tcx> = Decodable::decode(decoder)?; | ||
let len = decoder.read_usize()?; | ||
let interned: Vec<mir::PlaceElem<'tcx>> = |
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.
are there no nice wrappers out there for (de)serializign a List
?
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.
I've fixed the deserialization and made it look a bit better. But what we have is very similar to what's done with ty https://github.com/rust-lang/rust/blob/e0fe4846e5ab3f5d8810280bbe0d217cafd491c9/src/librustc/ty/codec.rs#L247
19666d1
to
e0fe484
Compare
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 |
☔ The latest upstream changes (presumably #65644) made this pull request unmergeable. Please resolve the merge conflicts. |
e0fe484
to
93f0311
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit c2a27851217e1af90365cbc97285744c2fc6b98c with merge c5c186e789650b5a4942a108bfbc6c7b964c83b1... |
c2a2785
to
fb26b5b
Compare
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 one more as_local
call
This prepares the code base for when projection is interned. Place's projection field is going to be `&List<PlaceElem<'tcx>>` so we won't be able to pattern match against it.
This is so we avoid a massive break of other people's code. Gonna run rustfmt and split the file on a different PR.
fb26b5b
to
5f5903d
Compare
@bors r=oli-obk |
📌 Commit 5f5903d has been approved by |
… r=oli-obk Intern place projection This should sit on top of rust-lang#65197. After that one merged, I'm gonna rebase on top of it. The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR. Anyway this work helps as is because we can run perf tests :). r? @oli-obk /cc @nikomatsakis
… r=oli-obk Intern place projection This should sit on top of rust-lang#65197. After that one merged, I'm gonna rebase on top of it. The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR. Anyway this work helps as is because we can run perf tests :). r? @oli-obk /cc @nikomatsakis
Rollup of 9 pull requests Successful merges: - #64639 (Stabilize `#[non_exhaustive]` (RFC 2008)) - #65074 (Fix the start/end byte positions in the compiler JSON output) - #65315 (Intern place projection) - #65685 (Fix check of `statx` and handle EPERM) - #65731 (Prevent unnecessary allocation in PathBuf::set_extension.) - #65740 (Fix default "disable-shortcuts" feature value) - #65787 (move panictry! to where it is used.) - #65789 (move Attribute::with_desugared_doc to librustdoc) - #65790 (move report_invalid_macro_expansion_item to item.rs) Failed merges: r? @ghost
This should sit on top of #65197. After that one merged, I'm gonna rebase on top of it.
The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR.
Anyway this work helps as is because we can run perf tests :).
r? @oli-obk /cc @nikomatsakis