型間のキャストRustは安全性に焦点を合わせており、異なる型の間を互いにキャストするために二つの異なる方法を提供しています。あり、これは安全なキャストに使われます。際のフィールド値、そして関数の結果です。ある型強制は、参照からミュータビリティを取り除くものです。ミュータビリティを取り除くものがあります。参照も同様に、生ポインタへ型強制できます。よって、カスタマイズされた型強制が定義されることもあります。いうキーワードは安全なキャストを行います。i64;安全なキャストは大きく三つに分類されます。キャスト、そして、ポインタキャストです。キャストは推移的ではありません。正しいとは限らないのです。型強制されるときのみです。されるとき、有効です。いうキャストは、以下のどの場合でも有効です。u8;数値キャストのセマンティクスは以下の通りです。現在、丸められた値がキャスト先の整数型で扱えない場合、このキャストは未定義動作を引き起こします。これはバグであり、修正される予定です。表現できる最大(最小)の有限値より大きい(小さい)場合、このキャストは未定義動作を引き起こします。これはバグであり、修正される予定です。整数の間のキャストや、ポインタと他の型の間のキャストは安全です。安全でないのはポインタの参照外しだけなのです。正しいポインタキャストであるのは、以下の場合です。キャストすることはできません。4つの8で32になるこれは以下のようなメッセージがでて、エラーになります。cast」であり、複数の値、つまり配列の4つの要素、があることが原因です。この種類のキャストはとても危険です。複数の裏に隠れた構造がどう実装されているかについて仮定をおいているからです。そのためもっと危険なものが必要になります。よって提供されており、やることはとてもシンプルながら、とても恐ろしいです。この関数は、Rustに対し、ある型の値を他の型であるかのように扱うように伝えます。これは型検査システムに関係なく行われ、完全に使用者頼みです。表していることを知った上で、キャストを行おうとしました。使うことで、次のように書けます。ブロックでくるんであります。呼び出しのみをブロックに入れればいいのですが、今回はどこを見ればよいかわかるよう、関連するもの全部を囲んでいます。関する詳細も重要であるため、ブロックにいれてあります。文脈が離れすぎているときは、こう書かないこともあるでしょう。くるむことは良い考えではないのです。ほとんどチェックを行わないのですが、最低限、型同士が同じサイズかの確認はします。そのため、次の例はエラーになります。u64>(a);}エラーメッセージはこうです。bits)ただそれ以外に関しては、自己責任です!。