blob: a6c96cf04f9c3fbb97e4eaa094543f531bc1da15 [file] [log] [blame]
// @dart = 3.2
sealed class S {}
class A extends S {}
class B extends S {}
class C extends S {}
class X extends A {}
class Y extends B {}
class Z implements A, B {}
int unsound1(S s) => switch (s) {
X() as A => 0,
Y() as B => 1,
};
int? sound1(S s) => switch (s) {
X() as A => 0,
Y() as B => 1,
_ => null,
};
int unsound2(S s) {}
int? sound2(S s) {}
main() {}
expect(expected, actual) {}
throws(void Function() f) {}