| // 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'; |
| |
| main() async { |
| var /*@ type=Future<B*>* */ b = new Future<B>.value(new B()); |
| var /*@ type=Future<C*>* */ c = new Future<C>.value(new C()); |
| var /*@ type=List<Future<A*>*>* */ lll = /*@ typeArgs=Future<A*>* */ [b, c]; |
| var /*@ type=List<A*>* */ result = await Future. /*@ typeArgs=A* */ wait(lll); |
| var /*@ type=List<A*>* */ result2 = await Future. /*@ typeArgs=A* */ wait( |
| /*@ typeArgs=Future<A*>* */ [b, c]); |
| List<A> list = result; |
| list = result2; |
| } |
| |
| class A {} |
| |
| class B extends A {} |
| |
| class C extends A {} |