Durée de vie
Code qui ne compile pas:
fn main() { let r; { let x = 5; r = &x; } println!("r: {r}"); }
Exemple de situation qui peut être résolue par une spécification de durée de vie:
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { if x.len() > y.len() { x } else { y } } fn main() { let string1 = String::from("abcd"); let string2 = "xyz"; let result = longest(string1.as_str(), string2); println!("The longest string is {result}"); }