Rust 1.77, la última versión del Lenguaje de programación fundado por Mozilla Research centrado en la seguridad, la velocidad y la concurrencia, agrega soporte para literales de cadena C.
Los literales de cadena C en Rust se expanden a una cadena terminada en byte nulo en la memoria de tipo & ‘static CStr
. Esto facilita la escritura de código que interoperará con interfaces de idiomas extranjeros que requieren cadenas terminadas en nulo. Todas las comprobaciones de errores relevantes, como la falta de un byte nulo interior, se realizan en el momento de la compilación.
Anunciado el 21 de marzoRust 1.77 se puede instalar usando Rustup:
$ rustup update stable
Otra mejora en Rust 1.77 es la compatibilidad con la recursividad en async fn
. Anteriormente, las funciones asíncronas no podían llamarse a sí mismas debido a una limitación del compilador, pero Rust 1.77 elimina esa limitación. Ahora se permiten llamadas recursivas siempre que utilicen una forma de direccionamiento indirecto para evitar un tamaño infinito para el estado de la función.
También en Rust 1.77, el offsetof!
La macro para campos de estructura se ha estabilizado. Esto proporciona acceso al desplazamiento de bytes del campo público relevante de una estructura. Esta macro puede ser más útil cuando se necesita el desplazamiento de un campo sin una instancia existente de un tipo, dijo el equipo de Rust.
Además, los perfiles del administrador de paquetes Cargo en Rust 1.77 que no habilitan información de depuración en las salidas permitirá strip = "debugiinfo"
por defecto. Esto es principalmente necesario porque la biblioteca estándar precompilada viene con debuginfo, lo que significa que los resultados vinculados estáticamente incluirían la información de depuración de la biblioteca estándar incluso si la compilación local no solicitó explícitamente debuginfo.
Finalmente, Clippy en Rust 1.77 agrega una nueva pelusa, incompatible_msrv
que indicará a los usuarios si la funcionalidad a la que se hace referencia solo está disponible en versiones más recientes que la versión mínima admitida de Rust declarada.
Rust 1.77 sigue al lanzamiento del mes pasado de Óxido 1.76que incluía actualizaciones de compatibilidad ABI.
Copyright © 2024 IDG Communications, Inc.