non_ constant_ map_ pattern_ key
Key expressions in map patterns must be constants.
Description
#The analyzer produces this diagnostic when a key in a map pattern isn't a constant expression.
Example
#
The following code produces this diagnostic because the key
A()
isn't a
constant:
void f(Object x) {
if (x case {A(): 0}) {}
}
class A {
const A();
}
Common fixes
#Use a constant for the key:
void f(Object x) {
if (x case {const A(): 0}) {}
}
class A {
const 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.