Traits stellen eine interessante Herausforderung dar, wenn wir sie innerhalb eines anderen Structs speichern wollen. Traits verschleiern das ursprüngliche Struct und damit auch dessen ursprüngliche Größe. Werte unbekannter Größe, die in Structs gespeichert werden, werden in Rust auf zwei Arten behandelt:
generics - Die Verwendung parametrisierter Typen erzeugt effektiv Structs/Funktionen mit bekannten Typen und damit bekannten Größen.indirection (Indirektion) - Instanzen auf dem Heap abzulegen gibt uns eine Ebene der Indirektion, durch die wir uns keine Gedanken über die Größe des eigentlichen Typs machen müssen und stattdessen nur einen Zeiger darauf speichern. Es gibt auch noch andere Wege!