Ребят, есть кто хорошо понял тему о "времени жизни"

Всем привет! Ну совсем не понимаю эту тему. я ее здесь 100 раз перечитал так и не понял http://rurust.github.io/rust_book_ru/src/lifetimes.html
Может какие-ниубдь легкие короткие примеры кто приведет?

Попробуй 13 главу http://rustbyexample.com/scope.html полистать.

Время жизни — это имя Области видимости, оно используется, чтобы избежать такой ситуации во время выполнения:

  • Мы получаем абстрактную ссылку на какой-то ресурс.
  • Мы одалживаем вам ссылку на этот ресурс.
  • Мы решаем, что ресурс нам больше не требуется, и освобождаем его, в то время как у вас все еще есть на него ссылка.
  • Вы решаете использовать этот ресурс.

Например:

  • Вы открыли счёт в банке, положили туда деньги (владеете ресурсом).
  • Вы выпустили карточку (получили ссылку на ресурс).
  • Вы передали карточку супруге (одолжили ссылку на ресурс).
  • Вы сняли деньги и закрыли счёт (освободили ресурс).
  • Супруга пытается воспользоваться карточкой (использование после освобождения).

Rust предлагает абстракцию с нулевой стоимостью (с проверкой на этапе компиляции), чтобы подобное не происходило в вашей программе во время выполнения. В главе, на которую вы сослались, есть пример, показывающий как работает время жизни:

struct Foo<'a> {
    x: &'a i32,
}

fn main() {
    let x;                    // -+ x входит в область видимости
                              //  |
    {                         //  |
        let y = &5;           // ---+ y входит в область видимости
        let f = Foo { x: y }; // ---+ f входит в область видимости
        x = &f.x;             //  | | здесь ошибка
    }                         // ---+ f и y выходят из области видимости
                              //  |
    println!("{}", x);        //  |
}                             // -+ x выходит из области видимости

Как вы можете видеть здесь, области видимости f и y меньше, чем область видимости x. Но когда мы выполняем x = &f.x, мы присваиваем x ссылку на что-то, что вот-вот выйдет из области видимости и будет освобождено.

Присвоение имени времени жизни — это способ задать имя области видимости. Чтобы думать о чём-то, нужно иметь название для этого.