prefer_ const_ constructors_ in_ immutables
Constructors in '@immutable' classes should be declared as 'const'.
Description
#
The analyzer produces this diagnostic when a non-const constructor is
found in a class that has the @immutable annotation.
Example
#
The following code produces this diagnostic because the constructor in C
isn't declared as const even though C has the @immutable
annotation:
import 'package:meta/meta.dart';
@immutable
class C {
final f;
C(this.f);
}
Common fixes
#
If the class really is intended to be immutable, then add the const
modifier to the constructor:
import 'package:meta/meta.dart';
@immutable
class C {
final f;
const C(this.f);
}
If the class is mutable, then remove the @immutable annotation:
class C {
final f;
C(this.f);
}
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.