literal_ only_ boolean_ expressions
The Boolean expression has a constant value.
Description
#
The analyzer produces this diagnostic when the value of the condition in
an if or loop statement is known to be either always true
or always
false. An exception is made for a while loop whose condition is the
Boolean literal true.
Examples
#
The following code produces this diagnostic because the condition will
always evaluate to true:
void f() {
if (true) {
print('true');
}
}
The lint will evaluate a subset of expressions that are composed of
constants, so the following code will also produce this diagnostic because
the condition will always evaluate to false:
void g(int i) {
if (1 == 0 || 3 > 4) {
print('false');
}
}
Common fixes
#If the condition is wrong, then correct the condition so that it's value can't be known at compile time:
void g(int i) {
if (i == 0 || i > 4) {
print('false');
}
}
If the condition is correct, then simplify the code to not evaluate the condition:
void f() {
print('true');
}
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.