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.

@rust-bors

This comment has been minimized.

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