== Why is this an issue? Comparisons of dissimilar types will always return `false`. The comparison and all its dependent code can simply be removed. This includes: * comparing an object with `null` * comparing an object with an unrelated primitive (e.g. a `String` with an `int`) * comparing unrelated types === Noncompliant code example [source,dart] ---- void f() { var a = "Hello, World!"; if (a == 42) { // Noncompliant: comparing a String with an int print("BOOM!"); } } ---- == Resources === Documentation * Dart Docs - https://dart.dev/tools/linter-rules/unrelated_type_equality_checks[Dart Linter rule - unrelated_type_equality_checks] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message The type of the right operand ('bool') isn't a subtype or a supertype of the left operand ('int'). === Highlighting The `==` operator or `!=` operator. ''' == Comments And Links (visible only on this page) endif::env-github,rspecator-view[]