unnecessary_ final
Don't use final for local variables.
Details
#Use var, not final, when declaring local variables.
Per Effective Dart,
there are two styles in wide use. This rule enforces the var style.
For the alternative style that prefers final, enable prefer_final_locals
and prefer_final_in_for_each instead.
For fields, final is always recommended; see the rule prefer_final_fields.
BAD:
void badMethod() {
final label = 'Final or var?';
for (final char in ['v', 'a', 'r']) {
print(char);
}
}
GOOD:
void goodMethod() {
var label = 'Final or var?';
for (var char in ['v', 'a', 'r']) {
print(char);
}
}
Incompatible rules
#The unnecessary_final lint is incompatible with the following rules:
Enable
#
To enable the unnecessary_final rule, add unnecessary_final under
linter > rules in your analysis_options.yaml
file:
linter:
rules:
- unnecessary_final
If you're instead using the YAML map syntax to configure linter rules,
add unnecessary_final: true under linter > rules:
linter:
rules:
unnecessary_final: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.