prefer_final_in_for_each
Prefer final in for-each loop variable if reference is not reassigned.
Details
#DO prefer declaring for-each loop variables as final if they are not reassigned later in the code.
Declaring for-each loop variables as final when possible is a good practice because it helps avoid accidental reassignments and allows the compiler to do optimizations.
BAD:
for (var element in elements) { // LINT
print('Element: $element');
}
GOOD:
for (final element in elements) {
print('Element: $element');
}
GOOD:
for (var element in elements) {
element = element + element;
print('Element: $element');
}
Incompatible rules
#The prefer_final_in_for_each
rule is incompatible with the following rules:
Enable
#To enable the prefer_final_in_for_each
rule, add prefer_final_in_for_each
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- prefer_final_in_for_each
If you're instead using the YAML map syntax to configure linter rules, add prefer_final_in_for_each: true
under linter > rules:
linter:
rules:
prefer_final_in_for_each: true
Unless stated otherwise, the documentation on this site reflects Dart 3.6.2. Page last updated on 2025-01-27. View source or report an issue.