Lainatun Datan Käsittely
Rustin säännöt referensseille voidaan ehkä parhaiten tiivistää näin:
- Rust sallii joko yhden muuttuvan referenssin tai useita ei-muuttuvia referenssejä, mutta ei molempia.
- Referenssi ei saa koskaan elää pidempään kuin sen omistaja.
Tämä ei yleensä ole ongelma, kun referenssejä välitetään funktioille.
Muistin yksityiskohdat:
- Referenssien ensimmäinen sääntö estää data race -tilanteet. Mikä on data race? Data race tapahtuu, kun datan lukemisessa on mahdollisuus epäsynkronoitumiseen, koska samaan dataan kirjoitetaan samanaikaisesti. Tätä tapahtuu usein monisäikeisessä ohjelmoinnissa.
- Referenssien toinen sääntö estää sellaisten referenssien väärinkäytön, jotka viittaavat olemattomaan dataan (C:ssä kutsutaan roikkuviksi osoittimiksi, dangling pointer).