Skip to content

Rollup of 10 pull requests#158507

Closed
jhpratt wants to merge 115 commits into
rust-lang:mainfrom
jhpratt:rollup-nRQxhEx
Closed

Rollup of 10 pull requests#158507
jhpratt wants to merge 115 commits into
rust-lang:mainfrom
jhpratt:rollup-nRQxhEx

Conversation

@jhpratt

@jhpratt jhpratt commented Jun 28, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

cuviper and others added 30 commits February 25, 2026 09:20
If someone considers moving from `option.into_iter().flatten()` to
`option.into_flat_iter()`, it may be important for performance that this
iterator "specializes" methods the same way `Flatten` does, especially
forwarding to underlying `fold`, etc.
This updates the rust-version file to 029c9e1.
Correct some wrong uses of LLVM intrinsics
The CRC[C].W.{B,H}.W only consume the low 8/16 bits of the input operand.
The previous unsigned cast was a workaround for Miri's software
implementation.

Miri now masks the inputs to match hardware semantics, and LLVM will
learn the demanded-bits property of CRC intrinsics, so the explicit
zero-extension is no longer required.
loongarch: Remove explicit zero-extension from CRC[C].W.{B,H}.W
We still only support `PROT_READ|PROT_WRITE`, so `mprotect` is a no-op
other than validating arguments.

We only implement `madvise` for the hints that can be ignored without
a change in semantic (e.g. no `MADV_DONTNEED`, so it is also a no-op
other than validating arguments.
These intrinsics need `Arguments_Preparation` added so that the
intrinsic-test tool knows to generate const arguments.
These intrinsics need `Arguments_Preparation` added so that the
intrinsic-test tool knows to generate const arguments.
Clang uses the `llvm.aarch64.sve.rev.bN` intrinsic for `svrev` with
`b16`, `b32` and `b64`. This required small generator changes so it knew
a bool-to-bool conversion was a no-op and a new blanket identity impl of
`SveInto` so the calls generated compile.
Clang uses the `llvm.aarch64.sve.zip.bN` intrinsic for `svzip` with
`b16`, `b32` and `b64` and the `llvm.aarch64.sve.uzp.bN` intrinsic for
`svuzp` with the same types.
Forward addl. arguments to `intrinsic-test.sh` to `cargo test` so that
`--no-fail-fast` or a specific test name can be passed.
…e-sve

update `arm_intrinsics.json` for `svset` and `svget`
intrinsic-test: fwd args in `intrinsic-test.sh`
…on-svrev-svzip-svuzp

core_arch: redefine `svrev`, `svzip` and `svuzp`
This updates the rust-version file to 8e15021.
folkertdev and others added 11 commits June 27, 2026 23:14
LLVM updated the name, the old one still works but stdarch is now using the new one
…, r=folkertdev

stdarch subtree update

Subtree update of `stdarch` to rust-lang/stdarch@62d5595.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost
… r=jackh726

Add supertrait item shadowing for type-level path resolution

This makes type-level name resolution (used primarily for associated types) also prefer subtrait items to supertrait items in case of ambiguity.

This addresses the concern from rust-lang#148605 about the inconsistency with name resolution in expressions and method calls.
…=petrochenkov

Adds RmetaLinkCache a per-link cache that uses path as the key of dec…

Adds `RmetaLinkCache` a per link and path  keyed cache of decoded `lib.rmeta-link` archive members and routes the add_archive read through it so that each rlib link metadata is decoded only one per link at most.

This is a request that originated from the discussion in rust-lang#156735 and we split it out as its own PR. It gives that PR a decode once path to read instead of reparsing each `rlib` per crate, and this will be in effect once `native_lib_filenames` moves to a link-time read.

Part of rust-lang#138243
…otriddle

rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs

This is a generalization of rust-lang#92940: that PR handled cases like `impl Foreign for Box<Local>`, but was missing handling for a few other closely related cases.

My particular interest was with showing `impl From<Box<Utf8Path>> for Box<Path>` in camino's documentation. But I ended up handling a bunch of related cases along the way.

I'm new to rustdoc so please let me know if I got anything wrong :) took a bit to fully understand how this worked.

<img width="1733" height="483" alt="image" src="https://github.com/user-attachments/assets/4b987c61-bdac-4de3-a491-c0577e06fa7c" />
…oboet

Expand `OptionFlatten`'s iterator methods

If someone considers moving from `option.into_iter().flatten()` to
`option.into_flat_iter()`, it may be important for performance that this
iterator "specializes" methods the same way `Flatten` does, especially
forwarding to underlying `fold`, etc.
…y-count, r=petrochenkov

Fix too-short variance slice in `variances_of` cycle recovery

This changes the cycle-error fallback in `variances_of` to size the slice the same way the provider does in [`variance/solve.rs:117`](https://github.com/rust-lang/rust/blob/32ea3615cc027bcb8fd720c7511ffb484f6223a3/compiler/rustc_hir_analysis/src/variance/solve.rs#L117).

This can otherwise ICE under the parallel frontend in `relate_args_with_variances` for items that inherit their generics from a parent (like a tuple struct constructor). See rust-lang#154560 (comment)
…rget, r=JonathanBrouwer

Allow the unstable attribute on foreign type

While working the `FnPtr` trait in rust-lang#156176 @carbotaniuman was trying to implement `Code` as an extern type but got an error as the current stability infrastructure does not allow `unstable` attribute on foreign type.  rust-lang#158200

This PR fixes that by allowing the `unstable` attribute on ForeignTy  and adds test to verify.

@rustbot r? @JonathanBrouwer
…itions, r=GuillaumeGomez

Upgrade `jsonsocck` and `jsondoclint` to edition 2024.

No code changes were necessary to perform the upgrade. I used `cargo fix --edition`, and additionally had an AI tool review the source code against the [Rust 2024 edition guide](https://github.com/rust-lang/edition-guide/tree/master/src/rust-2024) and the [edition upgrade guide](https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html) to ensure the change works properly.

r? @GuillaumeGomez

**AI disclosure:** This PR is the product of a combination of manual work and AI tools. I secured approval in advance from the designated reviewer. I stand behind the quality of the code I'm submitting, and I vouch it's as good or better compared to if I had written every line by my own hand.
…-types-edition, r=GuillaumeGomez

Upgrade `rustdoc-json-types` to 2024 edition.

No code changes were necessary to perform the upgrade. I used `cargo fix --edition`, and additionally had an AI tool review the source code against the [Rust 2024 edition guide](https://github.com/rust-lang/edition-guide/tree/master/src/rust-2024) and the [edition upgrade guide](https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html) to ensure the change works properly.

Same approach as in rust-lang#158470.

I don't believe this will raise the MSRV of `rustdoc-types`, because [its MSRV is already 1.85](https://crates.io/crates/rustdoc-types) which [supports the 2024 edition](https://blog.rust-lang.org/2025/02/20/Rust-1.85.0/).

r? @GuillaumeGomez

**AI disclosure:** This PR is the product of a combination of manual work and AI tools. I secured approval in advance from the designated reviewer. I stand behind the quality of the code I'm submitting, and I vouch it's as good or better compared to if I had written every line by my own hand.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jun 28, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Jun 28, 2026
@jhpratt

jhpratt commented Jun 28, 2026

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

📌 Commit ed494c1 has been approved by jhpratt

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 28, 2026
@jhpratt jhpratt closed this Jun 28, 2026
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jun 28, 2026
@jhpratt jhpratt deleted the rollup-nRQxhEx branch June 28, 2026 02:14
@rust-bors rust-bors Bot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jun 28, 2026
@rust-bors

rust-bors Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustdoc-json Area: Rustdoc JSON backend rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.