language icon indicating copy to clipboard operation
language copied to clipboard

Design of the Dart language

Results 567 language issues
Sort by recently updated
recently updated
newest added

Dart currently only allows passing arguments by value (where object references are values). However, the language has first class closures which can close over variables, so you can *effectively* pass...

feature

This issue raises the question whether we should resolve the invocation of a constructor for a class `C` which is declared by several static extensions based on the constructor return...

question
static-extensions

Looking at https://github.com/dart-lang/sdk/issues/51926, it occurs to me that we may be boxing users in to a kind of unfortunate situation where the only way to avoid an error is with...

request
patterns
flow-analysis
exhaustiveness

@lrhn proposed this feature in a particular context. I think it's both useful and Darty, and we should consider the proposal in a more general form. Here we go: >...

small-feature

Flutter has a class that has multiple factory methods which start with "with". I'd like to make one named "with" that supersedes them. By keeping the names the same they...

request

The rule about switch statements is [here](https://github.com/dart-lang/language/blob/master/resources/type-system/flow-analysis.md#statements). Consider the following example: ```dart enum Enum { one, two } void main() { Enum e = Enum.one; num n; switch (e) {...

The semantics of [`augmented()` in the body of an augmenting declaration of a non-redirecting generative constructor](https://github.com/dart-lang/language/blob/main/working/augmentation-libraries/feature-specification.md#non-redirecting-generative-constructors) is complex, and it treats parameters in a way which is different from the...

question
augmentation-libraries

TL;DR: Don't allow `part` and `part of` to use shorthand URIs. They should always be relative URI references anyway. Added benefit is discontinuing the old syntax without immediately allowing the...

feature
import-shorthand
unquoted-uris

Today, doing this is not allowed. We get: `An instance member named 'values' can't be declared in a class that implements 'Enum'. Try using a different name. (illegal_enum_values)` ```dart mixin...

feature

Dart distinguishes between declaration patterns, assignment patterns and matching patterns, where only matching patterns are allowed to be refutable. It makes sense that declaration patterns must be irrefutable, otherwise the...

feature
patterns