blob: 0abf21c78d894211b8e2bbe1a61b54d37f0ed13d [file] [log] [blame]
// 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.
library test;
import 'dart:async';
T f<T>() => null;
class D<T> {}
class E<T> extends D<T> {}
class B<T> {
D<T> g(E<T> x) => null;
class C<U> extends B<Future<U>> {
E<Future<U>> g(Object x) => null;
void h() {
var /*@type=D<Future<C::U>>*/ x =
super. /*@target=B::g*/ g(/*@typeArgs=E<Future<C::U>>*/ f());
main() {}