Smart pointerit käyttävät melko usein unsafe-koodia. Kuten aiemmin mainittiin, ne ovat yleisiä työkaluja Rustin muistin alimpien tasojen kanssa työskentelyyn.
Mitä on unsafe-koodi? Unsafe-koodi käyttäytyy täsmälleen kuten tavallinen Rust-koodi, paitsi muutamien kykyjen osalta, joista Rust-kääntäjä ei voi antaa takuita.
Yksi unsafe-koodin keskeinen kyky on raa'an osoittimen dereferensointi. Tämä tarkoittaa raa'an osoittimen ottamista muistin sijaintiin ja julistamista "täällä on tietorakenne!", muuttaen sen käytettäväksi datan esitykseksi (esim. *const u8 tyypiksi u8).
Rustilla ei ole tapaa seurata jokaisen muistiin kirjoitetun tavun merkitystä. Koska Rust ei voi antaa takuita siitä, mitä mielivaltaisessa luvussa, jota käytetään raakana osoittimena, todella on, se sijoittaa dereferensoinnin unsafe { ... }- lohkon sisälle.
Smart pointerit dereferensoivat raakoja osoittimia laajasti, mutta ne on hyvin testattu siinä, mitä ne tekevät.