[stable] 1.59.0 artifacts (second round)
This backports (from 1.60, landed in #93001):
* Move return_self_not_must_use to pedantic rust-lang/rust-clippy#8302
Per a user report on the internals feedback thread, this lint is not behaving well in 1.59.
cc `@rust-lang/clippy` -- this is a stable backport of a patch, which we'll likely want to land in fairly short order to be in time for the release Thursday.
This PR also includes an adjustment to the release notes to reflect "Fix invalid special casing of the unreachable! macro #93179".
r? `@Mark-Simulacrum`
[stable] 1.59.0 release
This adds in a few backports:
* Destabilise entry_insert #94105
* Update compiler_builtins to fix duplicate symbols in armv7-linux-androideabi rlib #93436
This also includes a fresh commit replicating the 1.52.1 patch soft-disabling incremental for 1.59, in light of discussion on #94124. This hasn't yet been fully approved but I think is the likely way things will go, so preparing the first round of stable artifacts with that in mind.
r? `@Mark-Simulacrum`
[beta] backports
This backports:
* Complete removal of #[main] attribute from compiler #93753
* Resolve lifetimes for const generic defaults #93669
* backport llvm fix for issue 91671. #93426
* Fix invalid special casing of the unreachable! macro #93179
* Fix hashing for windows paths containing a CurDir component #93697
r? `@Mark-Simulacrum`
A fix applied to std::Path::hash triggers a miscompilation/assert in LLVM in this test on wasm32.
The miscompilation appears to pre-existing. Reverting some previous changes done std::Path also trigger it
and slight modifications such as changing the test path from "a" to "ccccccccccc" also make it pass, indicating
it's very flaky.
Since the fix is for a higher-tier platform than wasm it takes precedence.
* the logic only checked for / but not for \
* verbatim paths shouldn't skip items at all since they don't get normalized
* the extra branches get optimized out on unix since is_sep_byte is a trivial comparison and is_verbatim is always-false
* tests lacked windows coverage for these cases
That lead to equal paths not having equal hashes and to unnecessary collisions.
Add links to the reference and rust by example for asm! docs and lints
These were previously removed in #91728 due to broken links.
cc ``@ehuss`` since this updates the rust-by-example submodule
[beta] Clippy: Handle implicit named arguments in `useless_format`
Closes#92938
This backports a Clippy fix to beta, that was already backported for 1.58.1 in https://github.com/rust-lang/rust/pull/93110
Revert "Do not hash leading zero bytes of i64 numbers in Sip128 hasher"
Reverts rust-lang/rust#92103. It had a (in retrospect, obvious) correctness problem where changing the order of two adjacent values would produce identical hashes, which is problematic in stable hashing (see [this comment](https://github.com/rust-lang/rust/pull/92103#issuecomment-1014625442)).
I'll try to send the PR again with a fix for this issue.
r? `@the8472`
Add script to prevent point releases with same number as existing ones
This will hopefully prevent what happened today with #93110 and #93121, where we built point release artifacts without changing version numbers, thus requiring another PR to change the version number.
r? `@Mark-Simulacrum`
[beta] rollup
This rolls up the following bumps onto the beta branch; no backports in this PR.
* [beta] Bootstrap update #92888
* [beta] backport cargo #92839
r? `@Mark-Simulacrum`