Rasgos

La anotación de vidas útiles en los métodos de rasgos básicamente son similares a las funciones. Ten en cuenta que impl también puede tener una anotación de vida útil.

// Una estructura con anotación de vidas útiles.
#[derive(Debug)]
struct Prestado<'a> {
    x: &'a i32,
}

// Anota vidas útiles en impl.
impl<'a> Default for Prestado<'a> {
    fn default() -> Self {
        Self {
            x: &10,
        }
    }
}

fn main() {
    let b: Prestado = Default::default();
    println!("b es {:?}", b);
}