Tempos de Vida (Lifetimes)

Um valor emprestado tem um tempo de vida (lifetime):

  • O tempo de vida pode ser implĂ­cito: add(p1: &Point, p2: &Point) -> Point.
  • Tempos de vida tambĂ©m podem ser explĂ­citos: &'a Point, &'documento str.
  • Leia &'a Point como “um Point emprestado que Ă© vĂĄlido por pelo menos o tempo de vida a”.
  • Tempos de vida sĂŁo sempre inferidos pelo compilador: vocĂȘ nĂŁo pode atribuir um tempo de vida vocĂȘ mesmo.
    • AnotaçÔes de tempo de vida criam restriçÔes; o compilador verifica se hĂĄ uma solução vĂĄlida.
  • Tempos de vida para argumentos de função e valores de retorno precisam ser completamente especificados, mas o Rust permite que eles sejam omitidos na maioria das vezes com algumas regras simples.