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