| Index: pkg/front_end/testcases/inference/future_then_upwards_2.dart
|
| diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart b/pkg/front_end/testcases/inference/future_then_upwards_2.dart
|
| index 1f2b87d96eb512b69dfbee700d679a2dfd1c0566..3190ae6ebbfab67a265c6acb64dd5f36a9e7c3fe 100644
|
| --- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart
|
| +++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart
|
| @@ -15,14 +15,17 @@ class MyFuture<T> implements Future<T> {
|
| }
|
|
|
| void main() {
|
| - var /*@type=MyFuture<double>*/ f = foo(). /*@typeArgs=double*/ then(
|
| - /*@returnType=double*/ (/*@type=dynamic*/ _) => 2.3);
|
| + var /*@type=MyFuture<double>*/ f =
|
| + foo(). /*@typeArgs=double*/ /*@target=MyFuture::then*/ then(
|
| + /*@returnType=double*/ (/*@type=dynamic*/ _) => 2.3);
|
| MyFuture<int> f2 = /*error:INVALID_ASSIGNMENT*/ /*@promotedType=none*/ f;
|
|
|
| // The unnecessary cast is to illustrate that we inferred <double> for
|
| // the generic type args, even though we had a return type context.
|
| - MyFuture<num> f3 = /*info:UNNECESSARY_CAST*/ foo(). /*@typeArgs=double*/ then(
|
| - /*@returnType=double*/ (/*@type=dynamic*/ _) => 2.3) as MyFuture<double>;
|
| + MyFuture<num> f3 = /*info:UNNECESSARY_CAST*/ foo()
|
| + . /*@typeArgs=double*/ /*@target=MyFuture::then*/ then(
|
| + /*@returnType=double*/ (/*@type=dynamic*/ _) => 2.3)
|
| + as MyFuture<double>;
|
| }
|
|
|
| MyFuture foo() => new MyFuture<int>.value(1);
|
|
|