Zulip discussion link: https://rust-lang.zulipchat.com/#narrow/stream/326132-t-types.2Fmeetings/topic/2022-10-28.20roadmap/near/306650004
- formality (i.e., model)
- shared library for trait solver between rust/r-a, with intermediate steps of
- improved diagnostics for trait system
- refactored rustc implementation
- Chalk?
- rustc-type-ir/chalk-ty
- feature work (intersects both the above), such as...
- improvements on generic associated types
- improvements on impl Trait (e.g., TAITs, RPITIT)
- soundness fixes, especially for higher-ranked stuff
Key questions:
- When to move to rust-lang org?
Goals for next year:
- testing against rustc (and chalk)
- modeling borrow check, trait solving, type checking from MIR backwards, with some elements of lowering into MIR as needed
- integrated into our language design processes (new features modeled)
Specific questions to probe:
- Initiative? Not all of this?
What features are relevant?
- async? (how much)
- RPITIT
- lead: Niko/tmandry
- other: Michael
- AFIT
- lead: Niko/tmandry
- other: Michael
- TAITs
- lead: oli
- existential lifetime parameters for cleaner TAIT impl?
- lead: nobody
-
- GATs
- lead: Jack
- Subgoals:
- Implied 'static
- Object safety
for<'a> <_ as Trait>::Assoc<'a>: OtherTrait
goals
- GATs
- polonius
- lead: Niko
- others: lqd
- keyword generics
- const traits
- negative trait impls
- lead: Niko
- others: santiago
- const eval
impl Trait
interaction?
- implication types
- lead: Jack?
Seemingly no? Probably more of an opsem team thing.
Can we chart it out
flowchart LR
a-mir-formality
class a-mir-formality active_development;
rustc-trait-solver-rewrite
class rustc-trait-solver-rewrite active_development;
shared-trait-solver-library
class shared-trait-solver-library blocked;
rustc-trait-solver-rewrite --> shared-trait-solver-library
polonius
class polonius active_development;
classDef active_development fill:#B10DC9,color:white
classDef blocked fill:#0074D9,color:lightgrey
classDef stalled fill:#0074D9,color:white