ExpertiDict

Rust · Intermediário · Inglês · Técnico

lifetime

/ˈlaɪftaɪm/substantivo

Trecho do programa durante o qual uma referência é válida. Anotações como 'a dizem ao compilador como as vidas de várias referências se relacionam.

Onde usar

Surge em funções que devolvem referências e em structs que guardam referências. O erro 'missing lifetime specifier' pede essa anotação.

Em código

fn maior<'a>(
  a: &'a str,
  b: &'a str,
) -> &'a str {
  if a.len() > b.len() { a } else { b }
}

Exemplos

This function needs a lifetime annotation.

Essa função precisa de uma anotação de lifetime.

The returned reference can't outlive the input.

A referência devolvida não pode viver mais que a entrada.

Cuidado

Lifetime não prolonga a vida de um valor: ela só descreve uma relação que o compilador confere.

Sinônimos

tempo de vida

Veja também

Todos os termos de Rust