Skip to content

Remove #[rustc_reservation_impl] - #160871

Draft
WaffleLapkin wants to merge 7 commits into
rust-lang:mainfrom
WaffleLapkin:remove_rustc_reservation_impl
Draft

Remove #[rustc_reservation_impl]#160871
WaffleLapkin wants to merge 7 commits into
rust-lang:mainfrom
WaffleLapkin:remove_rustc_reservation_impl

Conversation

@WaffleLapkin

@WaffleLapkin WaffleLapkin commented Aug 10, 2026

Copy link
Copy Markdown
Member

Based on #160705.

There was only ever one reservation impl and it got (/is being) removed in #160705. I don't think there is a reason to keep the machinery, given how specific and tricky the semantics of it are (see #64631).

Closes #64631.

cc @clarfonthey since you seem to have found another use for the attribute (#64631 (comment)) (I haven't looked into it, so not sure if it might be worth keeping the attribute for that use case).

r? types

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend 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 Aug 10, 2026
@rust-log-analyzer

This comment has been minimized.

@WaffleLapkin
WaffleLapkin force-pushed the remove_rustc_reservation_impl branch from dc47214 to 5bb1e02 Compare August 10, 2026 18:59
@clarfonthey

clarfonthey commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

The use case I described for rustc_reservation_impl seems relatively different from the semantics being applied for the never reservation. I don't think they'd share too much in common since the intent would be to allow reserving impls in, e.g. core to later be implemented in std as a way of making incoherent impls for traits that don't completely bork the solver.

I think it's fine to remove this specific hack and later replace it with something else if it happens to use the same name.

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend 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)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tracking issue for rustc_reservation_impl attribute

5 participants