Los traits introducen un reto interesante cuando queremos almacenarlos dentro de otra estructura. Estos ofuscan la estructura original y por lo tanto también obstruyen el tamaño original. Los valores sin tamaño (unsized) que se almacenan en las estructuras se manejan de dos maneras en Rust:
Tipos genéricos
- Al usar tipos parametrizados se crean de forma efectiva estructuras/funciones de tipos conocidos y por lo tanto tamaños conocidos.indirección
- Poner instancias en el montículo os da un nivel de indirección que nos permite no tener que preocuparnos por el tamaño del tipo y sólo almacenar un puntero. ¡También hay otras maneras de hacerlo!