Contents
Contents

Don't check for null in custom == operators.

This rule is available as of Dart 2.0.0.

Rule sets: recommended, flutter

This rule has a quick fix available.

Details

#

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;
}

Usage

#

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