Exhaustive

Match expressions must be exhaustive: every possible variant must be handled. The compiler will reject code that misses a case.

This catches bugs at compile time. When you add a new variant, the compiler tells you everywhere that needs updating.

Use default to handle any remaining cases when you don't need to match every variant explicitly.

Try it: Remove one of the cases and see the compiler error.