Skip to content

Automatic Rustup - #5245

Merged
RalfJung merged 19 commits into
masterfrom
rustup-2026-08-06
Aug 6, 2026
Merged

Automatic Rustup#5245
RalfJung merged 19 commits into
masterfrom
rustup-2026-08-06

Conversation

@workflows-miri

@workflows-miri workflows-miri Bot commented Aug 6, 2026

Copy link
Copy Markdown

Merge ref 'f73951df0a55' from rust-lang/rust

Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: rust-lang/rust@f73951d
Filtered ref: 5b12c2d
Upstream diff: rust-lang/rust@7218ebe...f73951d

This merge was created using https://github.com/rust-lang/josh-sync.

bors and others added 19 commits August 5, 2026 06:14
Update to LLVM 23



Changes in this PR (apart from the LLVM update):
 * Updated cov-map tests due to minor ordering changes introduced in llvm/llvm-project@5931034. The affected tests are limited to LLVM >= 23 now.
 * Set `LLVM_VERSIONED_DYLIB_NAME_ON_DARWIN=OFF`, which restores the previous unversioned naming of the LLVM dylib on Darwin. I expect we'll want to change this for consistency with Linux, but given the amount of trouble Darwin dylibs have caused in the past, I'm not trying to do it in this PR.
 * Distribute the llvm-project/libc subproject, which is now a build dependency of LLVM.
 * Pull in f128 Windows ABI changes from rust-lang/rust#158778. These need to land in sync with the LLVM update (as ABI of libcalls is controlled by LLVM, not our ABI lowering).
 * Disable RISCV backend on dist-i686-mingw, because the build OOMs on a large generated file. This is a temporary measure until host tools are removed by rust-lang/compiler-team#1020.
 * The llvm-project fork includes a new downstream patch for mingw: rust-lang/llvm-project@b89cd8e It works around mingw having broken TLS prior to GCC 16. (We're currently on GCC 14.)

Issues:
* [x] llvm/llvm-project#209512
* [x] llvm/llvm-project#209714
* [x] llvm/llvm-project#209718
* [x] rust-lang/stdarch#2190 (synced in rust-lang/rust#159517)
* [x] llvm/llvm-project#210025
* [x] rust-lang/rust#159391
* [x] EnzymeAD/Enzyme#2951
* [x] rust-lang/rust#159301
* [x] llvm/llvm-project#210300
Type fallback refactorings





- Don't merge different kinds of infer variables into `Ty` before matching them back
- Do fallback only on root vars (this is semantically equivalent to what we currently do; unifying any of the infer vars from the same equivalence class necesserily affects all of them) (this makes rust-lang/rust#159003 a bit less hacky though)
- Do some simplification that has been allowed by the previous changes

cc @lcnr
Enable polonius alpha on nightly



 See [rust-lang/compiler-team#](rust-lang/compiler-team#1015)

The first commit here adds an `-Zpolonius=nll` argument for tests and so people can disable alpha on nightly.
rustc_llvm: Emit module summaries when using -Clto=fat

Currently, module summaries are only emitted with thin lto. If we would link full/fat lto'd rust code against lto'd c++ code built with CFI (or WPD), those passes would fail during the link step because the participating rust modules are missing module summaries. Rust code does not know at compile-time if it would be participating in some special link which may require module summaries, so this PR ensures module summaries are unconditionally emitted for full/fat lto, just like with thin lto.

The WriteBitcodeToFile function just invokes the normal BitcodeWriterPass under the hood, but doesn't provide a way to set the argument for emitting module summaries. So this patch just adds the pass directly and sets that argument.

This is a rebase of @PiJoules's rust-lang/rust#158099, which also should fix up the tests with the gcc tools.
…oli-obk

treat no_mangle_generic_items as hard error instead of lint warning

Reference PR:

- rust-lang/reference#1904

In #4929 (comment), rustc should reject the no_mangled generic function.
This PR treat is as a hard error
Fix, simplify, and document doc meta finalize mode

Follow up rust-lang/rust#159415 (comment)

Get rid of the mode where you can finalize the CCI and generate more docs at the same time. It isn't used in Cargo, and probably won't be used elsewhere?

Fixes a bug where the crate index, settings page, and help page aren’t generated at finalize time.

Update documentation.

Move CCI tests to run-make, so that we can test the finalize step’s CLI.
Add CoerceShared field-wise reborrow WF checks

This PR attempts to add a well-formedness check for CoerceShared.
Split out of rust-lang/rust#157101

r? @aapoalas
…nia-e

Reorder the methods in `#[rustc_must_implement_one_of]`

So that their order will be the preferred order for implementations (assuming implementing `read_buf()` is better), like @joshtriplett said in rust-lang/rust#106643 (comment).

r? libs
… r=lqd

Revert "codegen_ssa: no dbginfo for scalable vec local w/ `-O0`"

This partially reverts commit ebe72104f00ca57e02f7ac70d78089727d5462b5 (it keeps the tests), from rust-lang/rust#158088. The workaround in that patch is no longer necessary with the upgrade to LLVM 23 in rust-lang/rust#158734. I've confirmed that the stdarch tests also continue passing with this patch applied.

r? @lqd
…useZ4

Re-enable bool indexing assembly test for LLVM 23

fixes rust-lang/rust#160521

Follow-up rust-lang/rust#159977
… r=mejrs

Remove `OnDuplicate::Custom`

It was only used for one attribute, where it was not particularly helpful
…au,fmease

[rustdoc] Create output file after we checked that the standalone markdown file is valid

This PR makes the creation of the output (HTML) file after we checked that the input markdown is valid to prevent the output file content to be truncated ([`File::create` doc](https://doc.rust-lang.org/nightly/std/fs/struct.File.html#method.create)) in any case.

r? @Urgau
…uwer

Rollup of 12 pull requests

Successful merges:

 - rust-lang/rust#159014 ([rustdoc] Do not take `doc(cfg())` into account when filtering doctests)
 - rust-lang/rust#159029 (rustc_llvm: Emit module summaries when using -Clto=fat)
 - rust-lang/rust#160574 (Update rustc-perf submodule)
 - rust-lang/rust#154585 (treat no_mangle_generic_items as hard error instead of lint warning)
 - rust-lang/rust#159473 (Fix, simplify, and document doc meta finalize mode)
 - rust-lang/rust#157489 (Add CoerceShared field-wise reborrow WF checks)
 - rust-lang/rust#160532 (Add Enzyme bugfix to support rust+llvm23)
 - rust-lang/rust#160545 (Reorder the methods in `#[rustc_must_implement_one_of]`)
 - rust-lang/rust#160558 (Revert "codegen_ssa: no dbginfo for scalable vec local w/ `-O0`")
 - rust-lang/rust#160566 (Re-enable bool indexing assembly test for LLVM 23)
 - rust-lang/rust#160569 (Remove `OnDuplicate::Custom`)
 - rust-lang/rust#160576 ([rustdoc] Create output file after we checked that the standalone markdown file is valid)
…enkov

perf: Lock-free root fast paths for hygiene queries

`normalize_to_macros_2_0`, `normalize_to_macro_rules` and `outer_expn_is_descendant_of` take the `HygieneData` lock even for the root syntax context, the common case, where the answer is fixed: the root normalizes to itself, and everything descends from the root expansion. This PR avoids the lock, like the existing fast paths in `ExpnId::is_descendant_of`.
This updates the rust-version file to f73951df0a5566d94d13b7954acd9f4ab1fa3734.
@rustbot rustbot added the S-waiting-on-review Status: Waiting for a review to complete label Aug 6, 2026
@RalfJung
RalfJung enabled auto-merge August 6, 2026 05:59
@RalfJung
RalfJung added this pull request to the merge queue Aug 6, 2026
Merged via the queue into master with commit 295d67e Aug 6, 2026
14 checks passed
@RalfJung
RalfJung deleted the rustup-2026-08-06 branch August 6, 2026 06:42
@rustbot rustbot removed the S-waiting-on-review Status: Waiting for a review to complete label Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants