Skip to main content

non_bool_condition

Conditions must have a static type of 'bool'.

Description

#

The analyzer produces this diagnostic when a condition, such as an if or while loop, doesn't have the static type bool.

Example

#

The following code produces this diagnostic because x has the static type int:

dart
void f(int x) {
  if (x) {
    // ...
  }
}

Common fixes

#

Change the condition so that it produces a Boolean value:

dart
void f(int x) {
  if (x == 0) {
    // ...
  }
}