blob: 6350615f9512e07085ddb4958be2b986a797b68a [file] [log] [blame]
Never never() => throw "Never";
class A<X extends Object, Y extends Object?> {
X foo() => never();
X? bar() => null;
Y baz() => never();
}
class B<X extends List<Y>, Y extends Object?> {
foo(X x, Y y) {}
}
class C<X extends List<Y>?, Y extends List<X>?> {
foo(X x, Y y) {}
}
class D<X extends Y, Y extends Z, Z> {
foo(X x, Y y, Z z) {}
}
main() {}