25/10/12 19:07:27.09 txsY3oX4.net
>>275
このRustプログラムが最適化あり(リリースビルド)/最適化なし(デバッグビルド)で挙動が変わる理由は、i8型の符号付き整数オーバーフローの扱い方が状況によって異なるためです
最適化なし(デバッグビルド)
sum += numで加算の結果がi8の範囲(-128~127)を超えてしまうと、panicになるため意図した出力が得られず、エラーが発生します
最適化あり(リリースビルド)
オーバーフローのチェックが省略されて二の補数によるラップアラウンド(桁あふれの結果として範囲内に収める計算)が行われます