Ejerskab og referencer
Teori
Programmeringssprog har forskellige tilgange til at styre brugen af computerens hukommelse. Dette har stor betydning for effektiviteten af programmerne og hvordan sprogene bruges.

I Rust bruges konceptet ejerskab for at holde styr på hukommelsen uden brug af såkaldt “garbage collection”. Dette gør Rust hurtigere og mere sikkert end mange andre sprog.
Ejerskab [1]
- Alle værdier har en ejer
- Der er kun 1 ejer ad gangen (men kan skifte)
- Når ejerens virkefelt ophører så fjernes værdien
Ved større datamængder kan det have stor betydning for hastighed/plads om man kopiere/kloner eller flytter data. I rust kaldes det hhv. Copy, Clone og move hvoraf de to første er såkaldte traits. Standardimplementeringer af disse kan laves automatisk vha. #[derive(<trait>)].
Referencer [2]
Alternativ til at kopiere eller flytte data er at bruge en reference til data. Tænk på det som udlån af data. Man kan enten have en enkelt mutabel reference eller et vilårligt antal ikke-mutable referencer.
Data der ikke har implementeret Copy bliver i stedet flyttet når de bruges som funktionsargument. For at undgå dette kan der bruges reference i funktionsparameteren. Dette kaldes også “pass by reference”.