| Index: pkg/front_end/testcases/inference/future_then_conditional_3.dart
 | 
| diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart b/pkg/front_end/testcases/inference/future_then_conditional_3.dart
 | 
| index af1305d28167c190c0a27f06b5be21aad4ed96ee..513c17a3b288bf5bd27b83d62fb85a07e1f8668c 100644
 | 
| --- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart
 | 
| +++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart
 | 
| @@ -18,17 +18,21 @@ void main() {
 | 
|    MyFuture<bool> f;
 | 
|    MyFuture<int> t1 = /*@promotedType=none*/ f.then(
 | 
|        /*@returnType=Future<int>*/ (/*@type=bool*/ x) async =>
 | 
| -          x ? 2 : await new Future<int>.value(3));
 | 
| +          /*@promotedType=none*/ x ? 2 : await new Future<int>.value(3));
 | 
|    MyFuture<int> t2 = /*@promotedType=none*/ f
 | 
|        .then(/*@returnType=Future<int>*/ (/*@type=bool*/ x) async {
 | 
| -    return /*info:DOWN_CAST_COMPOSITE*/ await x ? 2 : new Future<int>.value(3);
 | 
| +    return /*info:DOWN_CAST_COMPOSITE*/ await /*@promotedType=none*/ x
 | 
| +        ? 2
 | 
| +        : new Future<int>.value(3);
 | 
|    });
 | 
|    MyFuture<int> t5 = /*@promotedType=none*/ f.then(
 | 
|        /*info:INFERRED_TYPE_CLOSURE,error:INVALID_CAST_FUNCTION_EXPR*/
 | 
|        /*@returnType=Object*/ (/*@type=bool*/ x) =>
 | 
| -          x ? 2 : new Future<int>.value(3));
 | 
| +          /*@promotedType=none*/ x ? 2 : new Future<int>.value(3));
 | 
|    MyFuture<int> t6 = /*@promotedType=none*/ f.then(
 | 
|        /*@returnType=FutureOr<int>*/ (/*@type=bool*/ x) {
 | 
| -    return /*info:DOWN_CAST_COMPOSITE*/ x ? 2 : new Future<int>.value(3);
 | 
| +    return /*info:DOWN_CAST_COMPOSITE*/ /*@promotedType=none*/ x
 | 
| +        ? 2
 | 
| +        : new Future<int>.value(3);
 | 
|    });
 | 
|  }
 | 
| 
 |