avoid_null_checks_in_equality_operators
Don't check for null
in custom ==
operators.
Details
#NOTE: This lint has been replaced by the
non_nullable_equals_parameter
warning and is deprecated.
Remove all inclusions of this lint from your analysis options.
DON'T check for null
in custom ==
operators.
As null
is a special value, no instance of any class (other than Null
) can
be equivalent to it. Thus, it is redundant to check whether the other instance
is null
.
BAD:
dart
class Person {
final String? name;
@override
operator ==(Object? other) =>
other != null && other is Person && name == other.name;
}
GOOD:
dart
class Person {
final String? name;
@override
operator ==(Object? other) => other is Person && name == other.name;
}
Enable
#To enable the avoid_null_checks_in_equality_operators
rule,
add avoid_null_checks_in_equality_operators
under linter > rules in your
analysis_options.yaml
file:
analysis_options.yaml
yaml
linter:
rules:
- avoid_null_checks_in_equality_operators
If you're instead using the YAML map syntax to configure linter rules,
add avoid_null_checks_in_equality_operators: true
under linter > rules:
analysis_options.yaml
yaml
linter:
rules:
avoid_null_checks_in_equality_operators: true