Open osaxma opened 4 months ago
Sounds like something that can be included in https://dart.dev/tools/linter-rules/collection_methods_unrelated_type
I'll transfer this request to the linter
repo.
CL submitted at: https://dart-review.googlesource.com/c/sdk/+/351781 to include the lint in collection_methods_unrelated_type
Add warning for
Iterable<E>.whereType<T>
whenT is! E
.I think the static analyzer should warn against such obvious cases:
I expected to have a warning along the lines:
Unnecessary Iterable; 'Iterable<int>' can never contain type 'String'...
Why this is useful?
I believe many developers, including myself, relay on the static analyzer when refactoring code by slightly modifying a program so analysis errors/warnings are propagated throughout the codebase to guide the refactoring effort. In such cases, it would be useful to catch the case above, which I came across today.