prefer_ is_ not_ operator
Use the 'is!' operator rather than negating the value of the 'is' operator.
Description
#
The analyzer produces this diagnostic when the prefix ! operator is used
to negate the result of an is test.
Example
#
The following code produces this diagnostic because the result of testing
to see whether o is a String is negated using the prefix
! operator:
String f(Object o) {
if (!(o is String)) {
return o.toString();
}
return o;
}
Common fixes
#Use the is! operator instead:
String f(Object o) {
if (o is! String) {
return o.toString();
}
return o;
}
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.