2.8 - בעלות משותפת ושינוי פנימי - תרגול
תרגול כניסה חוזרת ו־guard ארוך מדי¶
כתבו פונקציה שמקבלת &RefCell<Vec<u32>> ופעולה FnOnce. הפונקציה מוסיפה ערך לאוסף ואז קוראת לפעולה. הפעולה עצמה צריכה להיות מסוגלת לשאול את האוסף כדי לקרוא את אורכו.
כתבו קודם גרסה שמחזיקה borrow_mut בזמן הקריאה לפעולה והראו כשל באמצעות try_borrow. תקנו את הגרסה כך שה־guard מסתיים לפני הקריאה החיצונית.
הוסיפו הסבר מדוע תהליכון יחיד אינו מונע כשל השאלה בזמן ריצה, ומדוע Weak פותרת מחזור בעלות אבל אינה פותרת בעיית borrow כזאת.