Tiempos de vida

Un valor que se toma prestado tiene un tiempo de vida:

  • El tiempo de vida puede ser implícito: add(p1: &Point, p2: &Point) -> Point.
  • Tiempo de vida también puede ser explícito: &'a Point, &'document str.
  • Lee &'a Point como “un Point prestado que es válido al menos durante el tiempo de vida de a”.
  • El compilador siempre infiere el tiempo de vida: no puedes asignarlos tú.
    • Las anotaciones durante el tiempo de vida crean restricciones. El compilador verifica que hay una solución válida.
  • El tiempo de vida de los argumentos de las funciones y los valores devueltos deben especificarse por completo, pero Rust permite que se puedan eludir en la mayoría de los casos con unas sencillas reglas.