Trait menghadirkan tantangan menarik ketika kita ingin menyimpannya di dalam struct lain. Trait menyembunyikan struct aslinya, dan dengan begitu juga ukuran aslinya. Nilai dengan ukuran yang tidak diketahui yang disimpan di dalam struct ditangani di Rust dengan dua cara:
generics (generik) - Menggunakan tipe terparameterisasi secara efektif membuat struct/fungsi dengan tipe yang diketahui, dan dengan begitu ukuran yang diketahui.indirection (indireksi) - Menempatkan instance di heap memberi kita satu lapisan indireksi di mana kita tidak perlu khawatir tentang ukuran tipe sebenarnya, dan sebagai gantinya kita hanya menyimpan sebuah pointer ke sana. Ada juga cara lainnya!