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:
Iterable<Object> f(Iterable<Object> p) => p.where((e) => e is String);
Common fixes
#Rewrite the code to use whereType
:
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.
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.