Borrow Checker
Rusts Borrow Checker prüft die Referenzregeln zur Kompilierzeit: unveränderliche und veränderliche Referenzen dürfen nicht koexistieren, und die veränderliche Referenz muss eindeutig sein.
Zweck
Datenrennen und dangling Referenzen zur Kompilierzeit ausschließen — der Kern von Rusts Speichersicherheit.
Mechanismus
Regeln: 1) beliebig viele unveränderliche Referenzen oder 2) genau eine veränderliche Referenz — nie beides gleichzeitig. Referenzen dürfen die Lebensdauer der Daten nicht überdauern. Verstöße brechen die Kompilierung ab, statt Laufzeitfehler zu verursachen. NLL (non-lexical lifetimes) lockert die Beschränkungen.
Anwendungsfälle
- Programmierung in Rust
- Speichersicherheit
- Nebenläufigkeitssicherheit