Traits vormen een interessante uitdaging wanneer we ze binnen een andere struct willen opslaan. Traits verbergen de oorspronkelijke struct, en daarmee ook de oorspronkelijke grootte ervan. Waarden van onbekende grootte die in structs worden opgeslagen, worden in Rust op twee manieren behandeld:
generics (generieken) - Het gebruik van geparametriseerde types creëert effectief structs/functies met bekende types, en dus bekende groottes.indirection (indirectie) - Het plaatsen van instanties op de heap geeft ons een niveau van indirectie waardoor we ons geen zorgen hoeven te maken over de grootte van het daadwerkelijke type, en in plaats daarvan slaan we slechts een pointer ernaar op. Er zijn ook andere manieren!