Box adalah sebuah struktur data yang memungkinkan kita memindahkan data kita dari stack ke heap.
Mendereferensikannya memungkinkan kita menggunakan data yang dialokasikan di heap secara ergonomis, seolah-olah itu adalah tipe aslinya.
Karena Box adalah sebuah struct dengan ukuran yang diketahui (karena ia hanya menyimpan sebuah pointer), ia sering digunakan sebagai cara untuk menyimpan sebuah referensi ke sesuatu di dalam sebuah struct yang perlu mengetahui ukuran field-fieldnya.
Box begitu umum sehingga dapat digunakan dari mana saja:
Box::new(Foo { ... })