avoid-unrelated-type-assertions
added in: 1.0.0 warning
Warns about unrelated usages of is
operator.
Config
Set ignore-mixins
(default is false
) to exclude mixins from the rule checks.
dart_code_linter:
...
rules:
- avoid-unrelated-type-assertions:
ignore-mixins: false
Example
Bad:
class Animal {}
class NotAnimal {}
class HomeAnimal extends Animal {}
class Example {
final regularString = '';
final myList = <int>[1, 2, 3];
final Animal animal = Animal();
void main() {
final result = regularString is int; // LINT
final result2 = myList is List<String>; // LINT
final result3 = animal is NotAnimal; // LINT
}
void patterns() {
final animal = Animal();
if (animal case HomeAnimal result) {}
if (animal case HomeAnimal()) {}
if (animal case NotAnimal result) {} // LINT
if (animal case NotAnimal()) {} // LINT
}
}
Good:
class Animal {}
class HomeAnimal extends Animal {}
class Example {
final regularString = '';
final myList = <int>[1, 2, 3];
final Animal animal = Animal();
void main() {
final result = regularString is String;
final result2 = myList is List<int>;
final result3 = animal is Object;
}
void patterns() {
final animal = Animal();
if (animal case HomeAnimal result) {}
if (animal case HomeAnimal()) {}
}
}