上級 › E0004: non-exhaustive patterns の原因と直し方 › パターン4
E0004: non-exhaustive patterns の原因と直し方
match式は、値が取りうるすべてのパターンを網羅していなければコンパイルできません。
1 enum Size { Small, Medium, Large } 2 fn main() { 3 let s = Size::Medium; 4 let label = match s { 5 Size::Small => "S", 6 ________________________________________________ ^ 7 }; 8 println!("{}", label); 9 }
error[E0004]: non-exhaustive patterns: `Size::Large` not covered
空欄を埋めて実行を通す
想定外の値を無視したい場合でも、_のワイルドカードアームを明示的に書く必要があります。
次の問題