| Index: pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/generators.dart | 
| diff --git a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/generators.dart b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/generators.dart | 
| index 99d3b3f27f2a21c5a4539f2b5767fc55be30a8dd..63c2e11c3f149a5628032f851c7f87795a2c339b 100644 | 
| --- a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/generators.dart | 
| +++ b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/generators.dart | 
| @@ -62,7 +62,7 @@ async_(gen, T, @rest args) => JS( | 
| let result = FutureT.microtask(function() { | 
| iter = $gen.apply(null, $args)[Symbol.iterator](); | 
| var result = onValue(); | 
| -    if ($strongInstanceOf(result, FutureT) == null) { | 
| +    if ($isSubtype($getReifiedType(result), FutureT) == null) { | 
| // Chain the Future<dynamic> to a Future<T> to produce the correct | 
| // final type. | 
| return result.then($T)((x) => x, {onError: onError}); | 
|  |