// Exhaustiveness: der Compiler prüft, ob ALLE Varianten abgedeckt sind. Vergisst man eine → Compilerfehler. enum Ampel { Rot, Gruen, // Gelb, // ← einkommentieren und neu kompilieren! } fn aktion(a: &Ampel) -> &str { match a { Ampel::Rot => "Stehen bleiben", Ampel::Gruen => "Gehen", // Ohne Arm für Gelb → Compilerfehler: // "non-exhaustive patterns: `Gelb` not covered" } } fn main() { let ampeln = [Ampel::Rot, Ampel::Gruen]; for a in &eln { println!("{}", aktion(a)); } }