prefer_ iterable_ wheretype
Details about the 'prefer_iterable_wheretype' diagnostic produced by the Dart analyzer.
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.10.3. Report an issue.