language
language copied to clipboard
Design of the Dart language
The augmentation rules say that an augmenting declaration must have the same parameter names as the declaration it augments. > an augmenting declaration with a parameter list which must have...
I constantly feel that `collection for` is almost there, but not there. It allows some cool syntax for simple cases, but constantly I need to add just a few more...
Thanks to @sgrekhov for bringing up this topic. We may or may not allow developers to augment an implicitly induced member like the `values` list of an enum: ```dart enum...
Let
An aspiration with pattern matching is to help when working with nullable types. A pattern can test an expression to see if it's not `null` and, if not, bind the...
An `Iterator` should be able to use the "for-in" syntax like an `Iterable`. This should work: ```dart for (final e in iterator) { // code } ``` Instead of having...
Let us drop the compile-time error for the following situations (and, presumably, introduce a warning or lint): It is currently an error in a declaration of a class, mixin class,...
The [augmentation feature specification](https://github.com/dart-lang/language/blob/main/working/augmentation-libraries/feature-specification.md) makes it an error to use `augmented` as an identifier expression anywhere inside an augmenting declaration. In https://github.com/dart-lang/language/issues/4009, it is discussed whether we should allow `augmented`...
Currently, Dart allows methods marked with `@override` to be declared with different return types, including asynchronous versions of methods that are expected to be synchronous. This can lead to runtime...
This is a first draft version of the feature specification of explicit variance support in Dart: (1) Explicit variance modifiers `out`/`inout`/`in` that generic type declarations can use on their type...
Example: ```dart const fooNumber = int.fromEnvironment('NUMBER'); const fooString = switch (fooNumber) { 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', _ => 'other', }; //error const...