test_ types_ in_ equals
Details about the 'test_types_in_equals' diagnostic produced by the Dart analyzer.
Missing type test for '{0}' in '=='.
Description
#
The analyzer produces this diagnostic when an override of the
==
operator doesn't include a type test on the value of the
parameter.
Example
#
The following code produces this diagnostic because
other is not type tested:
class C {
final int f;
C(this.f);
@override
bool operator ==(Object other) {
return (other as C).f == f;
}
}
Common fixes
#
Perform an is test as part of computing the
return value:
class C {
final int f;
C(this.f);
@override
bool operator ==(Object other) {
return other is C && other.f == f;
}
}
除非另有说明,文档之所提及适用于 Dart 3.12.2 版本报告页面问题.