-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Tracking issue for auto traits #13231
Copy link
Copy link
Open
Labels
A-auto-traitsArea: auto traits (e.g., `auto trait Send {}`)Area: auto traits (e.g., `auto trait Send {}`)A-trait-systemArea: Trait systemArea: Trait systemA-type-systemArea: Type systemArea: Type systemB-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.B-RFC-implementedBlocker: Approved by a merged RFC and implemented but not stabilized.Blocker: Approved by a merged RFC and implemented but not stabilized.B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-auto_traits`#![feature(auto_traits)]``#![feature(auto_traits)]`P-mediumMedium priorityMedium priorityS-tracking-perma-unstableStatus: The feature will stay unstable indefinitely.Status: The feature will stay unstable indefinitely.T-langRelevant to the language teamRelevant to the language teamT-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
A-auto-traitsArea: auto traits (e.g., `auto trait Send {}`)Area: auto traits (e.g., `auto trait Send {}`)A-trait-systemArea: Trait systemArea: Trait systemA-type-systemArea: Type systemArea: Type systemB-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.B-RFC-implementedBlocker: Approved by a merged RFC and implemented but not stabilized.Blocker: Approved by a merged RFC and implemented but not stabilized.B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-auto_traits`#![feature(auto_traits)]``#![feature(auto_traits)]`P-mediumMedium priorityMedium priorityS-tracking-perma-unstableStatus: The feature will stay unstable indefinitely.Status: The feature will stay unstable indefinitely.T-langRelevant to the language teamRelevant to the language teamT-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
View all comments
This is a tracking issue for RFC 19 / RFC 127.
The feature gate for the issue is
#![feature(auto_traits)].Note
This feature used to be called opt-in built-in traits (gated behind
optin_builtin_traits) andused to include negative negative impls (now gated behind
negative_impls; tracking issue: #68318).About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Implementation history
Completed Checklist (Historical)
Checklist
Here is a check-list of code to write and tricky scenarios to be sure we handle:
forbid conditional negative impls as described here(negative impls are no longer part of this feature)impl !Pod for ..should not be legal Negative blanket OIBIT impl treated as positive #28475impl Foo for ..impl Trait for .. {} does not require a feature gate #23225impl Trait for .. {}#23080 / Check that traits with default impls have no methods #23117impl Foo for ..Send/Syncto use new infrastructure internallyunsafe impl Send for ../unsafe impl Sync for ..constituent_typesPhantomData<T>checkTrather than the struct itself #23091impl AutoTrait for dyn Traitlegal? Tracking issue for auto traits #13231 (comment)[u8]negative impls affectstr. Tracking issue for auto traits #13231 (comment)optin_builtin_traitstoauto_traits#79336