assignment_ to_ final_ local
The final variable '{0}' can only be set once.
Description
#The analyzer produces this diagnostic when a local variable that was declared to be final is assigned after it was initialized.
Example
#
The following code produces this diagnostic because
x
is final, so it
can't have a value assigned to it after it was initialized:
void f() {
final x = 0;
x = 3;
print(x);
}
Common fixes
#
Remove the keyword
final
, and replace it with
var
if there's no type
annotation:
void f() {
var x = 0;
x = 3;
print(x);
}
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.