blob: 23417789f03066afc274634cf0159cbbad08b368 [file] [log] [blame]
class B<X, Y> {}
class C1<X extends X Function(Y), Y extends X Function(Y)> {}
C1 c1 = throw '';
class C2<X extends X Function(Y), Y extends Y Function(X)> {}
C2 c2 = throw '';
class C3<X extends X Function(X, Y), Y extends X Function(X, Y)> {}
C3 c3 = throw '';
class C4<X extends X Function(X, Y), Y extends Y Function(X, Y)> {}
C4 c4 = throw '';
class D1<X extends B<X, Y>, Y extends X Function(Y)> {}
D1 d1 = throw '';
class D2<X extends B<X, Y>, Y extends Y Function(X)> {}
D2 d2 = throw '';
class D3<X extends B<X, Y>, Y extends X Function(X, Y)> {}
D3 d3 = throw '';
class D4<X extends B<X, Y>, Y extends Y Function(X, Y)> {}
D4 d4 = throw '';
class E<X extends X Function(X)> {}
E e = throw '';
main() {}