Les traits présentent un défi intéressant lorsque nous voulons les stocker dans une autre structure. Les traits masquent la structure originelle et notamment sa taille. Avec Rust, les éléments sans taille connue et qui sont stockées dans une structure sont traitées de deux manières:
génériques
- Le compilateur Rust créer des structures ou des fonctions
dont la taille est connue par l'utilisation de types paramétrés (génériques).données sur le tas
- En mettant l'instance sur le tas et en stockant
uniquement un pointeur vers cette instance. Cela nous donne un niveau
d'indirection nous évitant d'avoir à se soucier de la taille du type. Il
existe également d'autres moyens!