[stable] 1.57.0 artifacts
This is the standard beta->stable promotion, and includes a last-minute backports of:
* #90044 via inclusion of #91220.
* [beta] Don't treat unnormalized function arguments as well-formed #91242
r? `@Mark-Simulacrum`
This is a functionally equivalent, minimally invasive backport of #90044, which
fixes the problem that compiling any binary with the target
aarch64-unknown-linux-musl fails unless lld is used for linking (#89626).
I have tested this backport by building aarch64-unknown-linux-gnu, installing
the std libraries for the -musl and -gnu variants in
rustc-beta-aarch64-unknown-linux-gnu/rustc/lib/rustlib and running helloworld
successfully for both targets on arm64 hardware.
[beta] Backport Clippy lint renaming / regrouping
This backports PR rust-lang/rust-clippy#7810 to beta, where a lint added in the 1.57 (current beta) release cycle was renamed shortly after the beta cutoff. We want to backport this, so we don't have unnecessary `lint_store.registered_renamed` calls in the Clippy codebase forever.
(The formatting changes were necessary to pass this backport in the Clippy CI, removing it in a subtree sync would be a bit painful...)
cc `@camsteffen`
[beta] backports
- Fix assertion failures in OwnedHandle with windows_subsystem. #88798
- Ensure that pushing empty path works as before on verbatim paths #89665
- Feature gate + make must_not_suspend allow-by-default #89826
- Only use clone3 when needed for pidfd #89930
- Fix documentation header sizes #90186
- Fixes incorrect handling of ADT's drop requirements #90218
- Fix ICE when forgetting to Box a parameter to a Self::func call #90221
- Prevent duplicate caller bounds candidates by exposing default substs in Unevaluated #90266
- Update odht crate to 0.3.1 (big-endian bugfix) #90403
- rustdoc: Go back to loading all external crates unconditionally #90489
- Split doc_cfg and doc_auto_cfg features #90502
- Apply adjustments for field expression even if inaccessible #90508
- Warn for variables that are no longer captured #90597
- Properly register text_direction_codepoint_in_comment lint. #90626
- CI: Use ubuntu image to download openssl, curl sources, cacert.pem for x86 dist builds #90457
- Android is not GNU #90834
- Update llvm submodule #90954
Additionally, this bumps the stage 0 compiler from beta to stable 1.56.1.
r? `@Mark-Simulacrum`
The adjustments are used later by ExprUseVisitor to build Place projections
and without adjustments it can produce invalid result.
(cherry picked from commit f556075459)
This *continues* to cause regressions. This code will be unnecessary
once access to the resolver happens fully before creating the tyctxt
(#83761), so load all crates unconditionally for now.
(cherry picked from commit 51345a83aa)
This reverts commit 12fbabd27f.
It was only needed because of using raw `clone3` instead of `fork`, but
we only do that now when a pidfd is requested.
(cherry picked from commit e96a0a8681)
In #89522 we learned that `clone3` is interacting poorly with Gentoo's
`sandbox` tool. We only need that for the unstable pidfd extensions, so
otherwise avoid that and use a normal `fork`.
(cherry picked from commit 85b55ce00d)
This lint is not yet ready for stable use, primarily due to false positives in edge
cases; we want to test it out more before stabilizing.
(cherry picked from commit 185fa56256)
As discussed in #88576, raw handle values in Windows can be null, such
as in `windows_subsystem` mode, or when consoles are detached from a
process. So, don't use `NonNull` to hold them, don't assert that they're
not null, and remove `OwnedHandle`'s `repr(transparent)`. Introduce a
new `HandleOrNull` type, similar to `HandleOrInvalid`, to cover the FFI
use case.
(cherry picked from commit 3b97481387)
[beta] Backport: Move if_then_panic to pedantic and rename to manual_assert
Backport of #7810
cc `@camsteffen`
r? `@ghost`
changelog: none (same release)
[beta] Fix CVE-2021-42574
This PR implements new lints to mitigate the impact of [CVE-2021-42574], caused by the presence of bidirectional-override Unicode codepoints in the compiled source code. [See the advisory][advisory] for more information about the vulnerability.
The changes in this PR will be released in tomorrow's beta release.
[CVE-2021-42574]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-42574
[advisory]: https://blog.rust-lang.org/2021/11/01/cve-2021-42574.html
[beta] backports
* Don't emit a warning for empty rmeta files. #90072
* Erase late-bound regions before computing vtable debuginfo name. #90050
* Fix wrong niche calculation when 2+ niches are placed at the start #90040
* Revert #86011 to fix an incorrect bound check #90025
* Fix macro_rules! duplication when reexported in the same module #89867
* Bump cargo to include rust-lang/cargo#9979 - Fix fetching git repos after a force push.
r? `@Mark-Simulacrum`