Skip to main content

prefer_final_in_for_each

The pattern should be final.

The variable '{0}' should be final.

Description

#

The analyzer produces this diagnostic when the loop variable in a for-each statement isn't marked as being final.

Example

#

The following code produces this diagnostic because the loop variable e isn't marked as being final:

dart
void f(List<int> l) {
  for (var e in l) {
    print(e);
  }
}

Common fixes

#

Add the modifier final to the loop variable, removing the var if there is one:

dart
void f(List<int> l) {
  for (final e in l) {
    print(e);
  }
}