-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failuresarea-languageDart language related items (some items might be better tracked at github.com/dart-lang/language).Dart language related items (some items might be better tracked at github.com/dart-lang/language).area-metaCross-cutting, high-level issues (for tracking many other implementation issues, ...).Cross-cutting, high-level issues (for tracking many other implementation issues, ...).
Milestone
Description
Meta issue tracking the final implementation of the instantiate to bound behavior for Dart 1.5 (that is, how to treat uses of generic types/methods where no type arguments are specified).
A bit more context (but see the relevant discussion in #26265):
Dart tries to infer the type of generic arguments based on the given bounds. However, that can be complicated (and sometimes impossible). For example the following example should probably be an error:
class A<G extends B> {}
class B<H extends A> {}
A x = null; // What should the generic type of A be?
Different approaches possible. One restriction (for example) would require to write the generic type in the bound:
class A<G extends B<must_write_something_here>> {}
class B<H extends A<must_write_something_here>> {}
Tracking bugs:
- Language team decision on static semantics (private issue): https://github.com/dart-lang/dart-lang-evolution/issues/109
- Analyzer implementation issue: Implement new strong mode instantiate to bound rules in analyzer #28100
- Make sure changelog has an entry for this (pending https://codereview.chromium.org/2648203003/)
In a following release:
- Full specification issue: Specify new strong mode instantiate to bound rules #28101
Metadata
Metadata
Assignees
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failuresarea-languageDart language related items (some items might be better tracked at github.com/dart-lang/language).Dart language related items (some items might be better tracked at github.com/dart-lang/language).area-metaCross-cutting, high-level issues (for tracking many other implementation issues, ...).Cross-cutting, high-level issues (for tracking many other implementation issues, ...).