[stable] Prepare Rust 1.69.0
Last minute backports:
* #109643
* #110135
* #109938
* #109937
* #109266
This PR also bumps the channel to stable, and backports the release notes from master.
r? `@ghost`
cc `@rust-lang/release`
[beta] Clippy: backport optimization and ICE fixes
The first commit optimizes a lint, that runs noticeably slow and is a perf issue. See https://github.com/rust-lang/rust-clippy/pull/10533
The second commit fixes an ICE that occurred when running Clippy on `gitoxide` besides others. Since this is a rather popular crate, we want to fix this rather sooner than later. See https://github.com/rust-lang/rust-clippy/pull/10403
---
Both commits are already on `master` and deployed on `nightly`.
The lint is very slow as it doesn't cache the deeply nested check for
the attribute. If we cache it, we can reduce the time spent on checking
`rustc_borrowck` from 28s to 9s, which is a nice improvement. In the
profile, the time inside `has_sig_drop_attr` goes from 66% to 0.2%,
which is a lot more reasonable.
See the PR for nice graphs.
[beta] backport
This PR backports:
- #109332: Move us to the new large runners pool
- #109156: Fix linker detection for clang with prefix
- #109111: Create dirs for build_triple
- #109094: Revert "enable ThinLTO for rustc on x86_64-pc-windows-msvc dist builds"
Also bumps us to the latest released stable, 1.68.2.
r? `@Mark-Simulacrum`
Revert 102245
reverts #102245, but only on beta, as that caused #109543 which has since been fixed on nightly.
This needed an additional partial revert of 5b08c9f397 for changes that happened due to later cleanups.
I also added a test from the issue to make sure this actually fixes it 😆
r? `@wesleywiser` `@pnkfelix`
For now this keeps all the configuration identical (AFAICT) but we'll
likely want to play with the specifics to move some of the slower
builders to larger machines and the faster builders to smaller machines,
likely reducing overall usage and improving CI times.
[beta] backport
This PR backports:
- #108901: fix: evaluate with wrong obligation stack
- #108754: Retry `pred_known_to_hold_modulo_regions` with fulfillment if ambiguous
- #108691: fix multiple issues when promoting type-test subject
It also bumps to the released stable.
r? `@Mark-Simulacrum`
Don't call `temporary_scope` twice.
`mirror_expr_inner` calls `temporary_scope`. It then calls `make_mirror_unadjusted` which makes an identical call to `temporary_scope`.
This commit changes the `mirror_expr_inner` to get the `temp_lifetime` out of the expression produced by `make_mirror_unadjusted`, similar to how it currently gets the type.
r? `@cjgillot`
rustc_expand: make proc-macro derive error translatable
kept this tiny so as to point to it as an example in rustc-dev-guide
`@rustbot` label +A-translation
Remove `NormalizationError::ConstantKind`
No longer in use by `TryNormalizeAfterErasingRegionsFolder` (as of #102355 / e8150fa60c it seems). It's making `LayoutError`, etc. kinda large -- that was noticed by `@zoxc.`