-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Tracking Issue for extended generic associated types #95451
Copy link
Copy link
Closed as not planned
Labels
A-GATsArea: Generic associated types (GATs)Area: Generic associated types (GATs)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-generic_associated_types_extended`#![feature(generic_associated_types_extended)]``#![feature(generic_associated_types_extended)]`S-tracking-perma-unstableStatus: The feature will stay unstable indefinitely.Status: The feature will stay unstable indefinitely.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-langRelevant to the language teamRelevant to the language team
Metadata
Metadata
Assignees
Labels
A-GATsArea: Generic associated types (GATs)Area: Generic associated types (GATs)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-generic_associated_types_extended`#![feature(generic_associated_types_extended)]``#![feature(generic_associated_types_extended)]`S-tracking-perma-unstableStatus: The feature will stay unstable indefinitely.Status: The feature will stay unstable indefinitely.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-langRelevant to the language teamRelevant to the language team
Type
Fields
Give feedbackNo fields configured for issues without a type.
This is a tracking issue for extensions to the minimal
generic_associated_typesfeature, intended to contain features not intended to be stabilized during initial stabilization. This is primarily for experimentation and likely will remain "incomplete" and almost certainly unsound, at least in the short-term. Longer-term, we like split these features out into separate feature gates, as their implementation becomes more complete.The RFC for GATs is rust-lang/rfcs#1598, but this feature gate likely will contain features not included in the original RFC.
The feature gate for the issue is
#![feature(generic_associated_types_extended)].Repository
Features included under this feature gate
"Lazy" associated type obligations during projection
Summary
Briefly, this ignores obligations generated during projection when they contain placeholder regions generated from higher-ranked trait bounds. Eventually, the idea is to either check these more logically or to confirm that they are checked with concrete regions.
Implementation history
generic_associated_types_extendedfeature gate #133768: RemovalUnresolved questions
Object safe GATs
Summary
This feature allows traits with GATs to be object safe (other object safety requirements must hold).
Implementation history
Unresolved questions