第94章へようこそ。
今日のテーマは「コンパイラが最初に確認すること」です。
前章でDefaultを学びました。型の持つ性質として、初期値が定義できるかどうか。
今日はもっと根本的な性質を見ます。型のサイズが、コンパイル時に確定しているかどうか。
Rustのコンパイラは、値をスタックに置くとき、その型のサイズを知っている必要があります。
i32なら4バイト。f64なら8バイト。サイズが分かるから、スタックフレームを正しく構成できる。
この「コンパイル時にサイズが確定する」という性質を表すのが、Sizedトレイトです。
ほとんどの型はSized。しかしSizedでない型も存在する。そしてその違いが、Rustの型システム全体の設計に影響を与えています。