Experiment flags

The Dart SDK often contains experimental features, which you can try by passing flags to Dart tools.

Using experiment flags with command-line tools


To use an experiment with Dart SDK command line tools, pass the corresponding flag to the tool. For example, to enable the experiments super-mixins and no-slow-checks, add those flags to the dart command:

$ dart run --enable-experiment=super-mixins,no-slow-checks bin/main.dart

Using experiment flags with the Dart analyzer (command-line and IDE)


To enable experiments affecting analysis, use the enable-experiment key in the analysis options file. Here's an example of enabling the experiments super-mixins and no-slow-checks in analysis_options.yaml:

    - super-mixins
    - no-slow-checks

Using experiment flags with IDEs


To enable experiments related to running or debugging apps in IDEs, edit the launch configuration.

Visual Studio Code


In launch.json under configurations, add a new toolArgs key containing the desired flags. Example:

 "configurations": [
            "name": "Dart",
            "program": "bin/main.dart",
            "request": "launch",
            "type": "dart",
            "toolArgs": [

For more information, consult the documentation for VS Code launch configurations.

Android Studio


Under VMOptions add the desired flags. Example:

<component name="ProjectRunConfigurationManager">
  <configuration default="false" name="Run main" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">
    <option name="VMOptions" value="--enable-experiment=non-nullable" />
    <option name="filePath" value="$PROJECT_DIR$/bin/main.dart" />
    <method v="2" />

For more information, consult the instructions for Android Studio run/debug configurations.

More information