シグネチャが違うことからわかるように、配列とスライスは全く別の型であることに注意。配列とスライスは別の型であることに注意する。使おうとしても型チェックに引っかかる。a;にもかかわらず参照を取ると、エラーにならない。いうのが今回のモチベーション。型強制Rustの型強制は、式の型と必要な型が異なるときに、自動的に変換を挟むものである。conversionのようなものみたい。Rustには4つの型強制ルールがあって、それに従う。利用して必要に応じて自前で型強制を定義できるっぽい。動作したのは型強制のおかげらしい。トレイトとその型強制についての実装をみてみる。トレイトの実装Unsizeは、サイズがダイナミックに決まる型を表すトレイト。コンパイラによって自動的に実装されている。自動的にしか実装できない。トレイトに関するルールがある。Ptr<U>に型強制される。今回のケースについて最初の例に戻って具体的にどう適用されたかを丁寧に書いてみる。