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.