/** Fails to compile on purpose: a pattern switch over a sealed type must cover every permitted subtype. */ public class NonExhaustive { sealed interface S permits A, B {} record A() implements S {} record B() implements S {} static String f(S s) { return switch (s) { case A a -> "a"; }; } public static void main(String[] args) { } }