prefer_iterable_wheretype
Use 'whereType' to select elements of a given type.
Description
#The analyzer produces this diagnostic when the method Iterable.where
is being used to filter elements based on their type.
Example
#The following code produces this diagnostic because the method where
is being used to access only the strings within the iterable:
dart
Iterable<Object> f(Iterable<Object> p) => p.where((e) => e is String);
Common fixes
#Rewrite the code to use whereType
:
dart
Iterable<String> f(Iterable<Object> p) => p.whereType<String>();
This might also allow you to tighten the types in your code or remove other type checks.
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.