Skip to main content

use_late_for_private_fields_and_variables

Learn about the use_late_for_private_fields_and_variables linter rule.

Experimental

Use late for private members with a non-nullable type.

Details

#

Use late for private members with non-nullable types that are always expected to be non-null. Thus it's clear that the field is not expected to be null and it avoids null checks.

BAD:

dart
int? _i; m() {  _i!.abs(); } 

GOOD:

dart
late int _i; m() {  _i.abs(); } 

OK:

dart
int? _i; m() {  _i?.abs();  _i = null; } 

Enable

#

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

analysis_options.yaml
yaml
linter:  rules:  - use_late_for_private_fields_and_variables 

If you're instead using the YAML map syntax to configure linter rules, add use_late_for_private_fields_and_variables: true under linter > rules:

analysis_options.yaml
yaml
linter:  rules:  use_late_for_private_fields_and_variables: true