-
Couldn't load subscription status.
- Fork 13.9k
[beta] Rollup backports #56077
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
[beta] Rollup backports #56077
Conversation
This commit adds logging statements to `promote_consts` and `qualify_consts` to make it easier to understand what it is doing.
This commit adds a test that ensures that a cast in a static doesn't stop const promotion within the static.
This commit refactors `PlaceContext` to split it into four different smaller enums based on if the context represents a mutating use, non-mutating use, maybe-mutating use or a non-use (this is based on the recommendation from @oli-obk on Zulip[1]). This commit then introduces a `PlaceContext::AscribeUserTy` variant. `StatementKind::AscribeUserTy` is now correctly mapped to `PlaceContext::AscribeUserTy` instead of `PlaceContext::Validate`. `PlaceContext::AscribeUserTy` can also now be correctly categorized as a non-use which fixes an issue with constant promotion in statics after a cast introduces a `AscribeUserTy` statement. [1]: https://rust-lang.zulipchat.com/#narrow/stream/122657-wg-nll/subject/.2355288.20cast.20fails.20to.20promote.20to.20'static/near/136536949
|
@bors r+ p=10 |
|
📌 Commit 4541827 has been approved by |
|
@bors r- |
Previously this threshold when testing was 100ns, but the Windows documentation states: > which is a high resolution (<1us) time stamp which presumably means that we could have up to 1us resolution, which means that 100ns doesn't capture "equivalent" time intervals due to various bits of rounding here and there. It's hoped that this.. Closes rust-lang#56034
|
@bors r+ p=10 |
|
📌 Commit 1d1213f has been approved by |
|
⌛ Testing commit 1d1213f with merge ac8413a2bcbab9ad90b3e41c5a281de216de9a74... |
|
💔 Test failed - status-appveyor |
|
Needs to backport a clippy update. |
|
I rebased #56102 atop this PR |
beta backport rollup Backports of some beta-approved PRs - [x] #55385: NLL: cast causes failure to promote to static - [x] #56043: remove "approx env bounds" if we already know from trait - [x] #56003: do not propagate inferred bounds on trait objects if they involve `Self` - [x] #55852: Rewrite `...` as `..=` as a `MachineApplicable` 2018 idiom lint - [x] #55804: rustdoc: don't inline `pub use some_crate` unless directly asked to - [x] #56059: Increase `Duration` approximate equal threshold to 1us - [x] Keep resolved defs in path prefixes and emit them in save-analysis #54145 - [x] Adjust Ids of path segments in visibility modifiers #55487 - [x] save-analysis: bug fix and optimisation. #55521 - [x] save-analysis: be even more aggressive about ignorning macro-generated defs #55936 - [x] save-analysis: fallback to using path id #56060 - [x] save-analysis: Don't panic for macro-generated use globs #55879 - [x] Add temporary renames to manifests for rustfmt/clippy #56081 - [x] Revert #51601 #56049 - [x] Fix stability hole with `static _` #55983 - [x] #56077 - [x] Fix Rustdoc ICE when checking blanket impls #55258 - [x] Updated RELEASES.md for 1.31.0 #55678 - [x] ~~#56061~~ #56111 - [x] Stabilize `extern_crate_item_prelude` #56032 Still running tests locally, and I plan to backport @nrc's other PRs too (cc @petrochenkov -- thanks for the advice)
Merged and approved:
Self#56003: do not propagate inferred bounds on trait objects if they involveSelf...as..=as aMachineApplicable2018 idiom lint #55852: Rewrite...as..=as aMachineApplicable2018 idiom lintpub use some_crateunless directly asked to #55804: rustdoc: don't inlinepub use some_crateunless directly asked toDurationapproximate equal threshold to 1us #56059: IncreaseDurationapproximate equal threshold to 1usr? @ghost