-
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
cache types during normalization #76928
Conversation
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit 1146c39 with merge 88f354df8a313170036daa0e4156f8e75242ebd6... |
We'll want to trim it down so that it takes around a second at most on current nightly, but yes adding it definitely seems good to me. |
☀️ Try build successful - checks-actions, checks-azure |
Queued 88f354df8a313170036daa0e4156f8e75242ebd6 with parent 8e9d5db, future comparison URL. |
Finished benchmarking try commit (88f354df8a313170036daa0e4156f8e75242ebd6): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
looks mostly neutral, I guess this is ready for review |
Other than perf (which looks neutral to positive for existing cases), the only possible side effects I see here are
Which all seem like a good thing! +1 to adding a case to rustc-perf. I don't think we have to wait on that to merge this, though. @bors r+ |
📌 Commit 1146c39 has been approved by |
☀️ Test successful - checks-actions, checks-azure |
Along the lines of #72412 (comment), I am nominating this for beta backport. Would someone on the compiler team be willing to approve this? See rationale laid out in that comment. |
@rust-lang/compiler -- cc on the previous comment, this needs to be beta-approved to go out in the release next week. See rationale in #72412 (comment). |
…k-Simulacrum [beta] backports This backports a number of PRs to beta, not all of which have been approved (yet). * Switch to environment files to change the environment on GHA rust-lang#77418 * cache types during normalization rust-lang#76928 * Fixing memory exhaustion when formatting short code suggestion rust-lang#76598 * Issue 72408 nested closures exponential rust-lang#72412 r? `@Mark-Simulacrum`
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.
(lgtm)
let ty = ty.super_fold_with(self); | ||
match *ty.kind() { | ||
let res = (|| match *ty.kind() { |
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.
is this just for outlining?
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 is mostly so we don't accidentally return
here. I kind of like this pattern myself but I do think that it can be somewhat counterintuitive
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.
When using a counterintuitive pattern, please add a comment explaining it. :)
partially fixes #75992
reduces the following test from 14 to 3 seconds locally.
cc @Mark-Simulacrum would it make sense to add that test to
perf
?r? @eddyb requires a perf run.