Rust logo
Rust 1.84.0-nightly
b91a3a056

Lifetimes

There is a new edition of the book and this is an old link.

Every reference in Rust has a lifetime, which is the scope for which that reference is valid. Most of the time lifetimes are implicit and inferred.

{
    let x = 5;            // -----+-- 'b
                          //      |
    let r = &x;           // --+--+-- 'a
                          //   |  |
    println!("r: {r}");   //   |  |
                          // --+  |
}                         // -----+

Here are the relevant sections in the new and old books: