上級 › E0004: non-exhaustive patterns の原因と直し方 › パターン2
E0004: non-exhaustive patterns の原因と直し方
match式は、値が取りうるすべてのパターンを網羅していなければコンパイルできません。
1 enum Signal { Red, Yellow, Green } 2 fn main() { 3 let signal = Signal::Yellow; 4 let action = match signal { 5 Signal::Red => "stop", 6 ___________________________________________________________ ^ 7 }; 8 println!("{}", action); 9 }
error[E0004]: non-exhaustive patterns: `Signal::Green` not covered
空欄を埋めて実行を通す
enumに新しい変体が増えたのにmatchのアームを追加し忘れると、このエラーが検出してくれます。
次の問題