Mover los Datos Prestados
Las reglas de referencia de Rust se resumen de la siguiente manera:
- Rust solo permite que haya una referencia mutable o múltiples referencias no mutables, pero no ambas.
- Una referencia nunca debe vivir más tiempo que su propietario.
Esto no suele ser un problema cuando se pasan referencias a funciones.
Detalles de la memoria:
- La primera regla de referencia impide las condiciones de carrera. ¿Qué es una condición de carrera (data race)? Esta se da cuando uno o más hilos acceden a una posición de memoria variable de manera concurrente en la programación multi-hilo y existe la posibilidad de estar fuera de sincronía debido a que al menos uno está escribiendo y otro no está sincronizado con los demás hilos.
- La segunda regla de referencia previene el mal uso de referencias a datos inexistentes (llamados punteros colgantes en C).