const_with_non_constant_argument
Arguments of a constant creation must be constant expressions.
Description
#The analyzer produces this diagnostic when a const constructor is invoked with an argument that isn't a constant expression.
Example
#The following code produces this diagnostic because i
isn't a constant:
dart
class C {
final int i;
const C(this.i);
}
C f(int i) => const C(i);
Common fixes
#Either make all of the arguments constant expressions, or remove the const
keyword to use the non-constant form of the constructor:
dart
class C {
final int i;
const C(this.i);
}
C f(int i) => C(i);
Unless stated otherwise, the documentation on this site reflects Dart 3.7.3. Page last updated on 2025-05-08. View source or report an issue.