blob: 6dbf57ea743465ce36c1ea23989f0472238cd27a [file] [log] [blame]
B<num> bar4() => throw 42;
F<A<dynamic>, A<Never>> foo4a() => throw 42;
F foo4b() => throw 42;
bar1(B<num> x) {}
bar2<X extends B<num>>() {}
bar5({required B<num> x}) {}
bar6() {}
bar7([B<num>? x]) {}
class A<X> {}
class B<X extends int> {}
class Bar3<X extends B<num>> {}
class Bar8 extends B<dynamic> {}
class Foo3a<X extends F<A<dynamic>, A<Never>>> {}
class Foo3b<X extends F> {}
foo1a(F<A<dynamic>, A<Never>> x) {}
foo1b(F x) {}
foo2a<X extends F<A<dynamic>, A<Never>>>() {}
foo2b<X extends F>() {}
foo5a({required F<A<dynamic>, A<Never>> x}) {}
foo5b({required F x}) {}
foo6a() {}
foo6b() {}
foo7a([F<A<dynamic>, A<Never>>? x]) {}
foo7b([F? x]) {}
main() {}
typedef F<X extends A<X>, Y extends A<Y>> = X Function(Y);