לדלג לתוכן

3.5 - מקצים השמדה ואינווריאנטים של בעלות - תרגול

תרגול יישור והשמדה אחת

בדקו את Owned מן ההרצאה עם טיפוס בעל repr(align(64)). ודאו שכתובת הנתון מתחלקת ב־64, בלי להמיר את המספר בחזרה למצביע.

כתבו טיפוס Tracked שמגדיל מונה ב־Drop. הראו שהערך מושמד בדיוק פעם אחת גם אחרי כמה קריאות get ו־get_mut. בדקו גם טיפוס בגודל אפס עם Drop שמגדיל מונה סטטי אטומי, בלי להוסיף לו שדות.

הסבירו איזה חוזה נשבר אם מחליפים את Layout::new ב־Layout בעל יישור אחד לכל הטיפוסים.