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.