| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // @dart=2.9 |
| /*@testedFeatures=inference*/ |
| library test; |
| |
| import "dart:async"; |
| |
| m1() { |
| Future<int> f; |
| var /*@type=Future<Future<List<int*>*>*>**/ x = f. /*@target=Future.then*/ then< |
| Future<List<int>>>( |
| /*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ |
| /*@returnType=FutureOr<Future<List<int*>*>*>**/ (/*@type=int**/ x) => /*@typeArgs=dynamic*/ []); |
| Future<List<int>> y = x; |
| } |
| |
| m2() { |
| Future<int> f; |
| var /*@type=Future<List<int*>*>**/ x = f. /*@target=Future.then*/ then< |
| List<int>>( |
| /*@returnType=List<int*>**/ (/*@type=int**/ x) => /*@typeArgs=int**/ []); |
| Future<List<int>> y = x; |
| } |
| |
| main() {} |