Memória
A Rust-ban írt programok háromféle memóriarégióban tárolják az adatokat:
- adat memória - A meghatározott mérettel rendelkező statikus (vagyis a program teljes
futási ideje alatt elérhető) adatai vannak itt tárolva. Ilyenek például a programodban
használt szövegek ("Helló Világ!"): A szöveg bájtjai csupán egy helyről vannak kiolvasva,
emiatt eltárolhatóak ebben a régióban. A fordítók sokféle optimalizációra képesek az itt
tárolt adatokkal, melyek emellé nagyon gyorsak is, hisz a helyük és méretük már a
fordításkor ismert és megváltoztathatatlan.
- veremmemória - Ide kerülnek a függvényekben deklarált változók. Az itt tárolt adatok helye
nem változik a memóriában, így a fordító optimalizálhatja őket, emiatt nagyon gyors az
elérésük.
- kupacmemória - Az alkalmazás futása közben létrejövő adatok helye. Az itt eltárolt
adatokhoz hozzá lehet adni, el lehet venni, mozgatni lehet, törölni, átméretezni, stb. Mivel
ennyire dinamikus, a használata lasabb mint az előző kettőé, cserébe sokkal kreatívabb
lehetőségeket biztosít a memória felhasználására. A kupachoz való hozzáadást
allokálásnak vagy foglalásnak, az eltávolítást pedig deallokálásnak vagy
felszabadításnak nevezzük.