Skip to content

Crater rollup - #162233

Draft
theemathas wants to merge 16 commits into
rust-lang:mainfrom
theemathas:crater-rollup
Draft

Crater rollup#162233
theemathas wants to merge 16 commits into
rust-lang:mainfrom
theemathas:crater-rollup

Conversation

@theemathas

@theemathas theemathas commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

r? ghost

Due to the long crater queue, I am making a crater rollup. That is, I will run crater of all these PRs together at the same time. And then, once that is finished, I will rerun crater on each individual PR only on the crates that regressed in the result of this crater. This hopefully will speed up the crater process.

PRs in this rollup: #160780, #160902, #161358, #161253, #161946, #160391, #161319

beepster4096 and others added 15 commits September 3, 2026 19:11
This will allow e.g. `&[!]` to satisfy `&[T] where T: AsRef<str>`.
It follows the recommendation from the never documentation:

> When writing your own traits, `!` should have an `impl` whenever
> there is an obvious `impl` which doesn’t `panic!`.

-- <https://doc.rust-lang.org/1.97.1/std/primitive.never.html#-and-traits>

The test tests/ui/impl-trait/generic-with-implicit-hrtb-without-dyn.rs
had to be updated because it depended on this impl not existing. I’ve
confirmed that the modified test still functions as a regression test by
compiling it in nightly-2022-08-28 and seeing it ICE.
This adds a new compiler attribute that prevents non-local fundamental
types from receiving implementations of marked traits.
This allows addressing soundness problems with traits like DerefMut on
Pin and similar wrapper types.
The attribute is checked during the orphan check in coherence.
Mark Deref, DerefMut, DispatchFromDyn, CoerceUnsized, and Receiver
with #[rustc_anti_fundamental] to prevent downstream crates from
implementing these traits on #[fundamental] types like Box and Pin.
We marked DerefMut anti-fundamental, so the PinHelper indirection is no
longer needed to prevent downstream users from implementing DerefMut on
Pin.
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) O-solid Operating System: SOLID O-windows Operating system: Windows 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Sep 3, 2026
@theemathas

Copy link
Copy Markdown
Contributor Author

@bors try

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 3, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-bors

rust-bors Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

💔 Test for d30f5d2 failed: CI. Failed jobs:

@theemathas

Copy link
Copy Markdown
Contributor Author

@bors try

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 3, 2026
@rust-bors

rust-bors Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 79c0559 (79c0559184f27f4433a6fbc260b950d06d4a4889)
Base parent: 4fcf397 (4fcf39725a9c99bd495d8c73af83628a256ff9a9)

@theemathas

Copy link
Copy Markdown
Contributor Author

@craterbot check name=pr-162233-crater-rollup p=3

@craterbot

Copy link
Copy Markdown
Collaborator

👌 Experiment pr-162233-crater-rollup created and queued.
🤖 Automatically detected try build 79c0559
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@clarfonthey

Copy link
Copy Markdown
Contributor

Genuine question: if crater runs are getting backed more frequently, should crater rollups just become part of the routine process? e.g., should we maybe start explicitly planning for them rather than just ad-hoc queueing things?

@craterbot

Copy link
Copy Markdown
Collaborator

🚧 Experiment pr-162233-crater-rollup is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) O-solid Operating System: SOLID O-windows Operating system: Windows S-waiting-on-crater Status: Waiting on a crater run to be completed. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.