for_ in_ of_ invalid_ type
The type '{0}' used in the 'for' loop must implement '{1}'.
Description
#
The analyzer produces this diagnostic when the expression following
in
in
a for-in loop has a type that isn't a subclass of
Iterable
.
Example
#
The following code produces this diagnostic because
m
is a
Map
, and
Map
isn't a subclass of
Iterable
:
void f(Map<String, String> m) {
for (String s in m) {
print(s);
}
}
Common fixes
#Replace the expression with one that produces an iterable value:
void f(Map<String, String> m) {
for (String s in m.values) {
print(s);
}
}
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.