smart pointer ها ممکنه محدود به نظر برسن، ولی میتونن ترکیبهای خیلی قدرتمندی بسازن.
Rc<Vec<Foo>> - اجازهی کلون کردن چند تا smart pointer رو میده که میتونن یه وکتور مشترک از ساختارهای دادهی immutable روی هیپ رو قرض بگیرن.
Rc<RefCell<Foo>> - به چند تا smart pointer این توانایی رو میده که یه struct یکسان به اسم Foo رو mutable/immutable قرض بگیرن.
Arc<Mutex<Foo>> - به چند تا smart pointer این توانایی رو میده که قرضهای موقت mutable/immutable رو بهشکلی انحصاری برای یه thread پردازنده قفل کنن.
جزئیات حافظه: