Una nueva formulación del borrow checker basada en alias

An alias-based formulation of the borrow checker (2018)

Desde el Rust All Hands, el autor ha estado experimentando con una formulación alternativa del borrow checker de Rust, con el objetivo de superar algunas deficiencias de la propuesta actual y ser más rápida de calcular. Ha implementado un prototipo que pasa la suite de pruebas NLL completa y maneja casos que el análisis NLL actual no puede, como el #47680. Sin embargo, el rendimiento aún está lejos de ser óptimo, aunque el autor es optimista en que se pueden lograr grandes avances. La propuesta no cambia la experiencia del usuario final, pero introduce cambios sutiles en cómo el compilador piensa sobre el programa, lo que podría afectar futuras características del lenguaje. El análisis se define mediante reglas Datalog y utiliza regiones como conjuntos de préstamos, en lugar de puntos del programa.

La idea es que si una referencia r tiene tipo &'a i32, entonces invalidar los términos de cualquiera de los préstamos en 'a invalidaría r.

Más de este día

2026-08-10