Memori
Program Rust mempunyai 3 wilayah memori dimana data disimpan:
- memori data - Untuk data yang berukuran tetap dan statis (yaitu, selalu tersedia sepanjang hidup program). Perhatikan teks di dalam program kamu (contoh "Hello World!"): byte dari teks ini hanya pernah dibaca dari satu tempat, sehingga dapat disimpan di wilayah ini. Kompiler membuat banyak optimisasi dengan jenis data seperti ini, dan umumnya dianggap sangat cepat untuk digunakan karena lokasinya diketahui dan tetap.
- memori stack - Untuk data yang dideklarasikan sebagai variabel di dalam sebuah fungsi. Lokasi dari memori ini tidak pernah berubah selama durasi pemanggilan fungsi; karena itu kompiler dapat mengoptimalkan kode sehingga data stack sangat cepat untuk diakses.
- memori heap - Untuk data yang dibuat saat aplikasi sedang berjalan. Data di wilayah ini dapat ditambahkan, dipindahkan, dihapus, diubah ukurannya, dsb. Karena sifatnya yang dinamis, ini umumnya dianggap lebih lambat untuk digunakan, tetapi memungkinkan penggunaan memori yang jauh lebih kreatif. Ketika data ditambahkan ke wilayah ini kita menyebutnya sebuah alokasi. Ketika data dihapus dari wilayah ini kita menyebutnya sebuah dealokasi.