non_ bool_ negation_ expression
A negation operand must have a static type of 'bool'.
Description
#
The analyzer produces this diagnostic when the operand of the unary
negation operator (!) doesn't have the type bool.
Example
#
The following code produces this diagnostic because x is an int when it
must be a bool:
int x = 0;
bool y = !x;
Common fixes
#Replace the operand with an expression that has the type bool:
int x = 0;
bool y = !(x > 0);
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.