type_literal_in_constant_pattern
Use 'TypeName _' instead of a type literal.
Description
#The analyzer produces this diagnostic when a type literal appears as a pattern.
Example
#The following code produces this diagnostic because a type literal is used as a constant pattern:
dart
void f(Object? x) {
if (x case num) {
// ...
}
}
Common fixes
#If the type literal is intended to match an object of the given type, then use either a variable pattern:
dart
void f(Object? x) {
if (x case num _) {
// ...
}
}
Or an object pattern:
dart
void f(Object? x) {
if (x case num()) {
// ...
}
}
If the type literal is intended to match the type literal, then write it as a constant pattern:
dart
void f(Object? x) {
if (x case const (num)) {
// ...
}
}
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.