Contents
Contents

Don't specify the late modifier when it is not needed.

This rule is available as of Dart 2.16.0.

Rule sets: recommended, flutter

This rule has a quick fix available.

Details

#

DO not specify the late modifier for top-level and static variables when the declaration contains an initializer.

Top-level and static variables with initializers are already evaluated lazily as if they are marked late.

BAD:

dart
late String badTopLevel = '';

GOOD:

dart
String goodTopLevel = '';

BAD:

dart
class BadExample {
  static late String badStatic = '';
}

GOOD:

dart
class GoodExample {
  late String goodStatic;
}

Usage

#

To enable the unnecessary_late rule, add unnecessary_late under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_late