Gli smart pointer possono sembrare limitati, ma possono creare combinazioni molto potenti.
Rc<Vec<Foo>> - Permette la clonazione di più smart pointer che possono prendere in prestito lo stesso vettore di strutture dati immutabili sull'heap.
Rc<RefCell<Foo>> - Permette a più smart pointer la possibilità di prendere in prestito, in modo mutabile o immutabile, la stessa struct Foo.
Arc<Mutex<Foo>> - Permette a più smart pointer la possibilità di bloccare prestiti temporanei mutabili/immutabili in un modo esclusivo a un thread della CPU.
Dettaglio sulla memoria: