Group: style
Maturity: stable
Dart SDK: >= 2.0.0 • (Linter v0.1.47)
Since info is static, may be staleAVOID to check if type is double or int.
When compiled to JS, integer values are represented as floats. That can lead to
some unexpected behavior when using either is
or is!
where the type is
either int
or double
.
BAD:
f(num x) {
if (x is double) {
...
} else if (x is int) {
...
}
}
GOOD:
f(dynamic x) {
if (x is num) {
...
} else {
...
}
}
To enable the avoid_double_and_int_checks
lint,
add avoid_double_and_int_checks
under linter > rules in your
analysis_options.yaml
file:
linter:
rules:
- avoid_double_and_int_checks