-
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
Split create_def and lowering of lifetimes for opaque types and bare async fns #99867
Conversation
2e84851
to
7ad47ea
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 7ad47ea4f6cb9c52947e3412e5bf9ab023375d59 with merge c43f4be8df1097e58deddd266b2f364a3d03dc0a... |
☀️ Try build successful - checks-actions |
Queued c43f4be8df1097e58deddd266b2f364a3d03dc0a with parent ea6ab1b, future comparison URL. |
Finished benchmarking commit (c43f4be8df1097e58deddd266b2f364a3d03dc0a): comparison url. Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. @bors rollup=never Footnotes |
Thanks @spastorino. I'm not sure I understand what this PR does.
|
@cjgillot thanks for the review. First of all, agreed with all your questions and as I've said, this would be the first part of a set of changes that I'd like to land that go in the direction you're saying.
Yes, agreed and this is what I wanted to discuss with you. Maybe if you have some time we should schedule some sync time on zulip?.
Same to this.
This is the same thing I wonder and I'd like to do. Again if we can discuss this in a synchronous way would be better I believe. |
584a538
to
7915f15
Compare
2493ab6
to
6d79822
Compare
@cjgillot @nikomatsakis have pushed some changes, please check them out. |
This comment has been minimized.
This comment has been minimized.
// Future<Output = &'1 [ &'2 u32 ]>`. | ||
// | ||
// Then, we will create `fn foo(..) -> Foo<'_, '_>`, and | ||
// hence the elision takes place at the fn site. |
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 comment is likely out of date, right? Elision is happening in an earlier phase now, I think.
cc @cjgillot
6d79822
to
cbf7fea
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.
A few doc nits, looks good though!
b8ddba2
to
ece5245
Compare
@bors r+ Nice work. |
📌 Commit fb7e44dd22c886a0d76c9223df9735cae76b385e has been approved by It is now in the queue for this repository. |
This comment has been minimized.
This comment has been minimized.
fb7e44d
to
4170d73
Compare
@bors r=nikomatsakis |
☀️ Test successful - checks-actions |
Finished benchmarking commit (cdfd675): comparison url. Instruction count
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes |
r? @cjgillot
This work is kind of half-way, but I think it could be merged anyway.
I think we should be able to remove all the vacant arms in
new_named_lifetime_with_res
, if I'm not wrong that requires visiting more nodes. We can do that as a follow up.In follow-up PRs, besides the thing mentioned previously, I'll be trying to remove
LifetimeCaptureContext
,captured_lifetimes
as a global data structure, globalbinders_to_ignore
and all their friends :).Also try to remap in a more general way based on def-ids.