blob: df9101bfb0a87e1a60f8d781bef1b218f56c4200 [file] [log] [blame]
class B<X, Y> {}
class C1<X extends X Function(Y), Y extends X Function(Y)> {}
class C2<X extends X Function(Y), Y extends Y Function(X)> {}
class C3<X extends X Function(X, Y), Y extends X Function(X, Y)> {}
class C4<X extends X Function(X, Y), Y extends Y Function(X, Y)> {}
class D1<X extends B<X, Y>, Y extends X Function(Y)> {}
class D2<X extends B<X, Y>, Y extends Y Function(X)> {}
class D3<X extends B<X, Y>, Y extends X Function(X, Y)> {}
class D4<X extends B<X, Y>, Y extends Y Function(X, Y)> {}
class E<X extends X Function(X)> {}
main() {}
var lc1 = <C1>[];
var lc2 = <C2>[];
var lc3 = <C3>[];
var lc4 = <C4>[];
var ld1 = <D1>[];
var ld2 = <D2>[];
var ld3 = <D3>[];
var ld4 = <D4>[];
var le = <E>[];
var mc1 = <C1, C1>{};
var mc2 = <C2, C2>{};
var mc3 = <C3, C3>{};
var mc4 = <C4, C4>{};
var md1 = <D1, D1>{};
var md2 = <D2, D2>{};
var md3 = <D3, D3>{};
var md4 = <D4, D4>{};
var me = <E, E>{};