non_ bool_ negation_ expression
Details about the 'non_bool_negation_expression' diagnostic produced by the Dart analyzer.
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.10.3. Report an issue.