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 “unPoint
prestado que es válido al menos durante el tiempo de vida dea
”. - 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.