unnecessary_late
Don't specify the late modifier when it is not needed.
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;
}
Enable
#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_lateIf you're instead using the YAML map syntax to configure linter rules,
add unnecessary_late: true under linter > rules:
analysis_options.yaml
yaml
linter:
rules:
unnecessary_late: true