unnecessary_ final
Local variables should not be marked as 'final'.
Description
#
The analyzer produces this diagnostic when a local variable is marked as
being
final
.
Example
#
The following code produces this diagnostic because the local variable
c
is marked as being
final
:
void f(int a, int b) {
final c = a + b;
print(c);
}
Common fixes
#
If the variable doesn't have a type annotation, then replace the
final
with
var
:
void f(int a, int b) {
var c = a + b;
print(c);
}
If the variable has a type annotation, then remove the
final
modifier:
void f(int a, int b) {
int c = a + b;
print(c);
}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.