Listen

Description

第94章へようこそ。

今日のテーマは「コンパイラが最初に確認すること」です。

前章でDefaultを学びました。型の持つ性質として、初期値が定義できるかどうか。

今日はもっと根本的な性質を見ます。型のサイズが、コンパイル時に確定しているかどうか。

Rustのコンパイラは、値をスタックに置くとき、その型のサイズを知っている必要があります。

i32なら4バイト。f64なら8バイト。サイズが分かるから、スタックフレームを正しく構成できる。

この「コンパイル時にサイズが確定する」という性質を表すのが、Sizedトレイトです。

ほとんどの型はSized。しかしSizedでない型も存在する。そしてその違いが、Rustの型システム全体の設計に影響を与えています。