>>254 mutabilityを必要とする分に応じてmutを付ける必覧vがあります そのため以下4種類がコードに応じて使い分けされています let mut x: &mut Type = ... let x: &mut Type = ... let mut x: &Type = ... let x: &Type = ... 前者のmutは変数xの値を更新するならば不可欠です 後者のmutはType型の可変参照で参照先の値を更新するならば不可欠です それぞれの値を更新するためにはそれぞれのmutを欠くことはできません
シリアライズ関連のクレートを使った方が楽だし、もうちょっと簡易的にやる場合でも from_le_bytes などの組み合わせで安全にやれるから不必要にプログラマの責任で管理するべきではないよ。 C でもいまどきは高レイヤのプログラムならそんなに気軽に未定義の型変換はしない。(もっとも、高レイヤではあまり C を使わないけど)