Lifetime
Eine Lebensdauer (Lifetime) ist der Codebereich, in dem eine Referenz gültig ist; Rust nutzt Lifetime-Annotationen, um sicherzustellen, dass Referenzen niemals länger leben als die geliehenen Daten.
Zweck
Verhindert hängende Referenzen zur Kompilierzeit — der Kern des Rust-Borrow-Checkers.
Mechanismus
Annotation 'a: Die Referenz ist für die Lifetime 'a gültig. Der Compiler prüft, dass die referenzierten Daten mindestens so lange leben wie die Referenz. Die 'static-Lifetime umfasst das gesamte Programm. Elisionsregeln leiten gängige Muster automatisch ab.
Anwendungsfälle
- Rust-Programmierung
- Referenzsicherheit
- Borrow-Checking