Traits ทำให้เกิดความยุ่งยากเมื่อเราอยากจะเก็บมันไว้ใน struct ตัวอื่น เพราะว่า Traits ทำให้เรามองเห็น struct ไม่ชัดเจน และความไม่ชัดเจนยังส่งผลไปที่ไซส์อีกด้วย ตอนที่เราเอา ของที่เราไม่รู้ไซส์ที่แน่นอนนี้ไปใส่ใน struct จะมีวิธีจัดการมัน 2 วิธีคือ:
generics
- โดยใช้ type เป็นพารามิเตอร์ในการสร้าง struct/ฟังก์ชัน เพื่อที่เราจะได้รู้ขนาดที่แน่นอนindirection
- นำอินสแตนซ์ไปไว้ใน heap ซะเลย จะได้ไม่ต้องกังวลว่า ขนาดของ type จริงๆมันจะเป็นเท่าไร เราแค่เก็บพอยเตอร์ชี้ไปที่มันก็พอ นี่เป็นแค่วิธีหนึ่งเท่านั้น