中級 › attempt to subtract with overflow パニックの原因と直し方 › パターン4
attempt to subtract with overflow パニックの原因と直し方
符号なし整数(usizeなど)で0から1を引くような演算を行うと、負の値を表現できないため実行時にパニックします。
1 fn main() { 2 let stack: Vec<i32> = vec![____]; ^ 3 let last_index = stack.len() - 1; 4 println!("{}", last_index); 5 }
thread 'main' panicked at main.rs:3:22:
attempt to subtract with overflow
空欄を埋めて実行を通す
デバッグビルドではusizeのオーバーフローは検出されパニックしますが、原因はコンパイル時には分かりません。
次の問題