Closed
Description
This is a tracking issue for generic associated types (rust-lang/rfcs#1598)
Repository
- Detailed tracking information is available at the GAT initiative repository
Unresolved questions:
- GATs: Decide whether to have defaults for
where Self: 'a
ย #87479 -- defaults forwhere Self: 'a
- Proposal: Change syntax of where clauses on type aliasesย #89122 -- where to put where clauses
Blocking bugs
See also the GATs-blocking
tag (the list below should be a superset of that, but its good to double-check).
- lifetime-parametric GATs cause ICEs (with feature(generic_associated_types))ย #62521
-
Associated type projections don't play well with HRTBs and normalizationย #30472No longer blocking - Pretty printing loses associated type generics and where clausesย #67509
- Allow generic associate types in trait pathsย #67510
- Generic associated types can shadow lifetimesย #67512
- Implement type- and const-generic associated typesย #67513
- GAT's arent typechecked, and can cause UBย #68641
- GAT's and broken LLVMย #68642
- GAT ICE: use of PlaceRef { local: _0, projection: [] } before defย #68643
- GAT ICE: Encountered error
Unimplemented
selecting `Binderย #68644 - GAT ICE: FulfillmentErrorย #68645
- GAT ICE: impl item and trait item have different parameter countsย #68648
- GAT ICE: place local already assigned toย #68649
- GAT ICE: unsize_thin_ptr: called on bad typesย #68650
- GAT ICE: codegen_argumentย #68652
- GAT ICE: unelided lifetime in signatureย #68653
- GAT ICE: cannot directly store unsized valuesย #68656
- Broken LLVM with GATย #74684
- [nightly] ICE when using GATs with const genericsย #75415
- ICE when combining GATs and HRTBsย #76826
- Internal Compiler Error caused by Generic Associated Typesย #79768
-
Enum variant with GAT field fails to derive Sizedย #80626Not GATs specific, not blocking - Error when inferring a lifetime in return type using GATsย #81487
- Bad diagnostics for GATs in trait pathsย #81801
- defaults on
GATs
emit an error but function correctlyishย #99205
Postponed work
Metadata
Metadata
Assignees
Labels
Area: Generic associated types (GATs)Area: Associated items (types, constants & functions)Area: Trait systemArea: Type systemBlocker: Approved by a merged RFC but not yet implemented.Blocker: Implemented in the nightly compiler and unstable.Category: An issue tracking the progress of sth. like the implementation of an RFC`#![feature(generic_associated_types)]` a.k.a. GATsStatus: This is ready to stabilize; it may need a stabilization report and a PRStatus: Being actively tracked by the types teamRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the language teamRelevant to the types team, which will review and decide on the PR/issue.This issue requires a nightly compiler in some way.