Garantías en Runtime (Tiempo de Ejecución)
No hay comportamientos indefinidos en runtime:
- Se comprueban los límites de acceso a los arrays.
- Se define el desbordamiento de enteros (panic o wrap-around).
Puntos clave:
-
El overflow en Integer es definido vía un flag en tiempo de compilación. Las opciones son alertas panic (un crash controlado del programa) o una semántica de wrap-around. Por defecto, obtienes el alerta en modo depuración (
cargo build
) y wrap-around en el modo release (`cargo build — -
La comprobación de límites no se puede deshabilitar con una bandera de compilador. Tampoco se puede inhabilitar directamente con la palabra clave
unsafe
. Sin embargo,unsafe
te permite llamar a funciones comoslice::get_unchecked
, que no realiza comprobaciones de límites.