// @dart = 2.9
D d;
E e;
F f;

class B<X, Y> {}

class C<X, Y> {}

class D<X extends B<X, Y>, Y extends C<X, Y>> {}

class E<X extends B<X, Y>, Y extends X Function()> {}

class F<X extends X Function()> {}

main() {}
