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:
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:
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.9.2. Page last updated on 2025-9-1. View source or report an issue.