EN_raw_non_bool_negation_expression

  •                   Toolschevron_right
    
  •                   Diagnosticschevron_right
    
  •                   non_bool_negation_expression
    
                non_bool_negation_expression
    

Details about the 'non_bool_negation_expression' diagnostic produced by the Dart analyzer.

                more_vert
  •                       copyCopy link
    
  •                       bug_reportReport issue
    

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`:

                dart
int x = 0;
bool y = !x;
                content_copy

              Common fixes

              #

Replace the operand with an expression that has the type bool:

                dart
int x = 0;
bool y = !(x > 0);
                content_copy

Was this page's content helpful?

                    thumb_up
                    thumb_down

                Unless stated otherwise, the documentation on this site reflects Dart 3.13.3. Report an issue.