Le të mendojmë për disa smart pointera që i kemi parë tashmë, si Vec<T> dhe String.
Vec<T> është një smart pointer që thjesht zotëron një rajon kujtese prej bajtësh. Përpiluesi i Rust nuk ka asnjë ide se çfarë ekziston në këto bajte. Smart pointeri interpreton se çfarë do të thotë të marrësh elementë nga rajoni i kujtesës që menaxhon, ndjek ku fillojnë dhe mbarojnë strukturat e të dhënave brenda këtyre bajtëve, dhe në fund dereferencon një pointer të papërpunuar në struktura të dhënash për të na dhënë një ndërfaqe të bukur dhe ergonomike për ta përdorur (p.sh. my_vec[3]).
Në mënyrë të ngjashme, String ndjek një rajon kujtese prej bajtësh, dhe kufizon në mënyrë programore përmbajtjen e shkruar në të, në mënyrë që të jetë gjithmonë utf-8 e vlefshme, dhe ndihmon në dereferencimin e atij rajoni kujtese në një lloj &str.
Të dyja këto struktura të dhënash përdorin dereferencim unsafe të pointerave të papërpunuar për të kryer punën e tyre.
Detaje kujtese: