A common source of programming faults are programs that unintentionally try to use values that are null. This issue requests Dart support for differentiating between nullable and non-nullable data types, paired with static validation.
Given vast amount of code already exists, it additionally requests a mechanism by which Dart packages and apps can gradually migrate to to utilize this.
UPDATE: this is being worked on as part of https://github.com/dart-lang/language/issues/110
I would strongly recommend that we also add a requirement that null safety is designed with unboxing in mind. Even though by itself it does not result in unboxing, it is a _necessary_ first step for any future language evolution towards higher performance.
Maybe for this we can look at Swift's extreme success with optional types?
Closing this request issue as this is being worked on and tracked as feature https://github.com/dart-lang/language/issues/110
Most helpful comment
I would strongly recommend that we also add a requirement that null safety is designed with unboxing in mind. Even though by itself it does not result in unboxing, it is a _necessary_ first step for any future language evolution towards higher performance.