non_ final_ field_ in_ enum
Enums can only declare final fields.
Description
#
The analyzer produces this diagnostic when an instance field in an enum
isn't marked as
final
.
Example
#
The following code produces this diagnostic because the field
f
isn't a
final field:
enum E {
c;
int f = 0;
}
Common fixes
#
If the field must be defined for the enum, then mark the field as being
final
:
enum E {
c;
final int f = 0;
}
If the field can be removed, then remove it:
enum E {
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.