>>546
しれっとBigIntに直したそのプログラムには論理的な誤りがあると主張しません
>>538のi32版は論理的な誤りがあり、+の代わりにchecked_addを使って以下のように修正できます
fn main() {
let mut m: i32 = 1;
let mut n: i32 = 1;
loop {
println!("{}", m);
if let Some(next) = m.checked_add(n) {
m = n;
n = next;
} else {
break;
}
}
}
https://play.rust-lang.org/?version=stable&;mode=debug&edition=2021&gist=17058fd1c2a1c69f111ac09a94681ee6