Index: sdk/lib/async/future.dart |
diff --git a/sdk/lib/async/future.dart b/sdk/lib/async/future.dart |
index 820ba0087d17181fbc5b5d92e6bfdad8b51a4906..b28b2c5c53ef2b1a6ffa46559084e6a812cf553b 100644 |
--- a/sdk/lib/async/future.dart |
+++ b/sdk/lib/async/future.dart |
@@ -190,7 +190,8 @@ abstract class Future<T> { |
Iterator iterator = input.iterator; |
void nextElement(_) { |
if (iterator.moveNext()) { |
- f(iterator.current).then(nextElement, onError: doneSignal._setError); |
+ new Future.of(() => f(iterator.current)) |
+ .then(nextElement, onError: doneSignal._setError); |
} else { |
doneSignal._setValue(null); |
} |