-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
long term issueIssues expected to take over 90 days to resolve. Does not apply to PRs.Issues expected to take over 90 days to resolve. Does not apply to PRs.toolchain
Description
Living task list for Generics implementation
- [jonmeow] Expansion of a definition of one generic that depends on expansion of another
- [danakj] Named constraints (number of TODOs in tests or in code)
- [danakj]
requiredecls- Diagnose missing impls for
require[example test] -
requireallows use of named facet types in symbolic facets [test] - Name lookup into
extend require[test]
- Diagnose missing impls for
- [danakj]
extend(implsandrequire) doesn't yet apply inside enclosing scope, currently doesn't get applied until end of scope -
extend impl asin aninterface(proposal Interface extension andfinal implupdate #5337) -
aliasininterfaceorconstraint - Support types other than
Selfin animplsrequirement- Many tests, but one example
-
.Selfneeds to be removed from the design, and its replacement implemented -
requiredecls with requirements, both rewrite (treated as equality) andimpls. - Equality constraint requirements
-
observe - Implied constraints [example test]
- Constraints on an
impl asdon't do anything (other than rewrites into.Self) -
wheredeclarations inimpldefinitions - Should impl lookup distinguish and/or fallback on
constand/orMaybeUnformed? #6068 -
match_first - Orphan rule
- Termination rule
- Form generics (still in proposal process)
- Need way to implicit conversions between integers of different sizes (maybe template-y?)
- Generics can't see builtin impls (e.g. ImplicitAs does not know about builtin conversions) #5750
- Compile-time known value is more specific for type structure than unknown (Including the value of non-types in the type structure) [notes] (needs proposal)
- Deduction of types in where clauses (test) (smaller test)
- Deduction of array bounds
- As i32 paramter [test]
- Even simpler [test/example] without arrays
- From tuple value [test]
- Conversion issues when we deduced the array bounds as type or IntLiteral parameter [test]
- As i32 paramter [test]
- Deduction of parameter that is a class access into generic class value [test]
- Access into symbolic associated constant with aggregate value [tests]
- Final specialization poisoning after using a concrete value [test]
- Symbolic constants in multiple
whereexprs match [test] -
defaultfor interface functions and associated constants -
finalfor interface functions (and associated constants?) - Associated constants shouldn't have to be complete [test]
- Compound member access in rewrite (and equality) constraints [example test]
- Default function syntax sugar (omitting
.Op) (needs proposal I think still)
All of template is excluded here. We exclude variadics here (they would be a large separable task).
This list is as-of November 20, 2025. Many tasks were done prior. 😄
Metadata
Metadata
Assignees
Labels
long term issueIssues expected to take over 90 days to resolve. Does not apply to PRs.Issues expected to take over 90 days to resolve. Does not apply to PRs.toolchain