مالکیت
تمام پیوندهای متغیر دارای یک دامنه هستند که در آن معتبر هستند و استفاده از متغیر خارج از دامنهاش یک خطاست:
struct Point(i32, i32); fn main() { { let p = Point(3, 4); println!("x: {}", p.0); } println!("y: {}", p.1); }
میگوییم که متغیر مالک مقدار است. هر مقدار در Rust در هر لحظه دقیقاً یک مالک دارد.
در پایان دامنه، متغیر حذف میشود و دادهها آزاد میشوند. یک ویرایشگر (destructor) میتواند در اینجا اجرا شود تا منابع را آزاد کند.
This slide should take about 5 minutes.
دانشآموزانی که با پیادهسازیهای جمعآوری زباله آشنا هستند، خواهند دانست که یک جمعآوریکننده زباله با مجموعهای از "ریشهها" برای یافتن تمام حافظههای قابل دسترسی شروع میکند. اصول "مالکیت تکگانه" Rust ایده مشابهی است.