Mengelola Data Yang Dipinjam
Aturan Rust untuk referensi mungkin paling baik diringkas sebagai berikut:
- Rust hanya memperbolehkan adanya satu referensi mutable atau banyak referensi non-mutable, tetapi tidak keduanya.
- Sebuah referensi tidak boleh pernah hidup lebih lama dari pemiliknya.
Ini biasanya bukan masalah ketika mengoper referensi ke fungsi- fungsi.
Detail memori:
- Aturan pertama dari referensi mencegah data race. Apa itu data race? Sebuah data race terjadi ketika pembacaan data mempunyai kemungkinan untuk tidak sinkron karena adanya penulis pada data yang sama pada saat bersamaan. Ini sering terjadi dalam pemrograman multi-thread.
- Aturan kedua dari referensi mencegah penyalahgunaan referensi yang menunjuk ke data yang tidak ada (disebut dangling pointer di C).