上級 › as によるダウンキャストは警告なしで値を切り捨てる › パターン4
as によるダウンキャストは警告なしで値を切り捨てる
asによる整数の型変換(ダウンキャスト)は、変換先の型で表現できない値を警告もエラーもなく切り捨てます。
1 fn main() { 2 let raw: i32 = 260; 3 let converted = raw as ___; ^ 4 println!("{}", converted); 5 }
出力: 4
空欄を埋めて実行を通す
260をu8にキャストすると4になります。この静かな切り捨てはバグとして非常に見つけにくいです。
次の問題