non_ constant_ relational_ pattern_ expression
The relational pattern expression must be a constant.
Description
#The analyzer produces this diagnostic when the value in a relational pattern expression isn't a constant expression.
Example
#
The following code produces this diagnostic because the operand of the
>
operator,
a
, isn't a constant:
final a = 0;
void f(int x) {
if (x case > a) {}
}
Common fixes
#Replace the value with a constant expression:
const a = 0;
void f(int x) {
if (x case > a) {}
}
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.