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:
late String badTopLevel = '';
GOOD:
String goodTopLevel = '';
BAD:
class BadExample {
static late String badStatic = '';
}
GOOD:
class GoodExample {
late String goodStatic;
}
Enable
#
To enable the
unnecessary_late
rule, add
unnecessary_late
under
linter > rules
in your
analysis_options.yaml
file:
linter:
rules:
- unnecessary_late
If you're instead using the YAML map syntax to configure linter rules,
add
unnecessary_late: true
under
linter > rules:
linter:
rules:
unnecessary_late: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.