trait ها وقتی میخوایم اونا رو داخل یه struct دیگه ذخیره کنیم، یه چالش جالب ایجاد میکنن. trait ها struct اصلی رو مبهم میکنن، پس اندازهی اصلیش رو هم مبهم میکنن. مقدارهایی با اندازهی نامشخص که توی struct ها ذخیره میشن، توی راست به دو روش مدیریت میشن:
generics - استفاده از نوعهای پارامتریشده، بهشکل مؤثری struct/تابعهایی با نوعهای مشخص و در نتیجه اندازههای مشخص میسازه.indirection - گذاشتن نمونهها روی هیپ، یه سطح از غیرمستقیمسازی بهمون میده که بهمون اجازه میده نگران اندازهی نوع واقعی نباشیم و فقط یه pointer بهش ذخیره کنیم. راههای دیگهای هم وجود داره!