メインコンテンツにスキップ

test_types_in_equals

'==' 演算子で '{0}' の型テストがありません。

説明

#

この診断は、== 演算子のオーバーライドが、パラメータの値に対する型テストを含んでいない場合にアナライザーによって生成されます。

#

以下のコードは、other が型テストされていないため、この診断を生成します。

dart
class C {
  final int f;

  C(this.f);

  @override
  bool operator ==(Object other) {
    return (other as C).f == f;
  }
}

一般的な修正

#

戻り値を計算する一部として is テストを実行してください。

dart
class C {
  final int f;

  C(this.f);

  @override
  bool operator ==(Object other) {
    return other is C && other.f == f;
  }
}