Prévenir l'utilisation après libération
Les Lifetimes (durées de vie) sont un moyen d'indiquer au compilateur combien de temps les références doivent rester valides les unes par rapport aux autres. Elles utilisent une syntaxe spéciale : 'a.
rust fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { if x.len() > y.len() { x } else { y } }
La plupart du temps, Rust déduit (élide) les lifetimes, mais dans des systèmes complexes ou des protocoles Web3, vous devrez les spécifier pour garantir la sécurité mémoire.