Dart 2.5 Arrives With ML Code Completion

Dart 2.5 brings new developer features, ML Complete and the dart:ffi.

Recently, the Dart team announced the stable release of the Dart 2.5 SDK. The new release includes technical previews of two major new developer features: ML Complete and the dart:ffi
 
ML Complete is a code completion feature powered by machine learning (ML), and the dart:ffi is a foreign function interface for calling C code directly from Dart.
 
The latest version also brings improved support for constant expressions.
 
DART 2.5 
Source: Google
 
ML Complete is built directly into the Dart analyzer and is available across all Dart-enabled editors, including Android Studio, IntelliJ, and VS Code.
 
As the feature is still in preview, the version in the current Flutter and Dart stable releases does not include the performance and polish work.The team recommends to temporarily use the Flutter dev channel or a Dart dev channel when previewing ML Complete.
 
dart:ffi which is a foreign function interface for Dart-C interop enables two main scenarios - calling into a C-based system API on the host operating system (OS), and calling into a C-based library, either for a single OS or cross-platform
 
Another core use of dart:ffi is to invoke C-based frameworks and components. The ML-based code completion is itself a concrete example of this. dart:ffi enables to run TensorFlow over all the operating systems with the high performance of the native TensorFlow implementation.
 
Dart 2.5 supports a lot more and useful ways to define constant expressions, including the ability to use casts and the new control flow and collection spread features.
  1. // Example: these are now valid compile-time constants.  
  2. const Object i = 3;  
  3. const list = [i as int];  
  4. const set = {if (list is List<int>) ...list};  
  5. const map = {if (i is int) i: "int"};