Borrow Checker
El borrow checker de Rust verifica las reglas de referencias en tiempo de compilación: las referencias inmutables y mutables no pueden coexistir, y la referencia mutable debe ser única.
Propósito
Eliminar condiciones de carrera y referencias colgantes en tiempo de compilación — el núcleo de la seguridad de memoria de Rust.
Mecanismo
Reglas: 1) cualquier número de referencias inmutables, o 2) una única referencia mutable — nunca ambas a la vez. Las referencias no deben sobrevivir al tiempo de vida de los datos. Las violaciones fallan la compilación en lugar de causar errores en ejecución. NLL (non-lexical lifetimes) relaja las restricciones.
Casos de uso
- Programación en Rust
- Seguridad de memoria
- Seguridad de concurrencia