Skip to main content

non_bool_operand

The operands of the operator '{0}' must be assignable to 'bool'.

Description

#

The analyzer produces this diagnostic when one of the operands of either the && or || operator doesn't have the type bool.

Example

#

The following code produces this diagnostic because a isn't a Boolean value:

dart
int a = 3;
bool b = a || a > 1;

Common fixes

#

Change the operand to a Boolean value:

dart
int a = 3;
bool b = a == 0 || a > 1;