I trait rappresentano una sfida interessante quando vogliamo memorizzarli dentro un'altra struct. I trait nascondono la struct originale, e con essa anche la sua dimensione originale. I valori di dimensione sconosciuta memorizzati in struct vengono gestiti in Rust in due modi:
generics (generici) - Usare tipi parametrizzati crea di fatto struct/funzioni con tipi noti, e quindi dimensioni note.indirection (indirezione) - Mettere le istanze sull'heap ci dà un livello di indirezione grazie al quale non dobbiamo preoccuparci della dimensione del tipo reale, e invece memorizziamo solo un puntatore ad esso. Esistono anche altri modi!