И снова здравствуйте! Пытаюсь разобраться с системой владения ресурсами в Rust. Пока что не понятно для чего нужно время жизни и как использовать его вообще. Например, есть у меня функция
fn foo<'a>(x: &'a i32) {
}
Как это все понимать? Это означает, что время жизни функции должно быть не больше, чем время жизни ссылки x? Получается, что время жизни это некая гарантия(обещание), что мы не будем использовать ссылки после того, как их не станет?