Salió Rust 1.85: qué cambió en el nuevo lanzamiento
El equipo de desarrolladores de Rust presentó otra actualización estable del lenguaje: la versión 1.85. Este lanzamiento trae una serie de funciones largamente esperadas que simplifican la escritura de código asíncrono, mejoran el rendimiento y amplían el conjunto de herramientas del desarrollador. Veamos los cambios clave.
Estabilización de async closures
Uno de los eventos principales fue la estabilización de async closures — clausuras que pueden ser asíncronas. Anteriormente, para devolver una clausura asíncrona era necesario escribir manualmente firmas complejas con impl Future. Ahora el compilador admite la sintaxis:
- async || { ... } — declaración directa de una clausura asíncrona.
- Cierre automático de variables con soporte para lifetime.
- Compatibilidad con los traits
FnOnce,FnMutyFn.
Esto simplifica la escritura de manejadores de eventos asíncronos, middleware y funciones callback en frameworks web (por ejemplo, Axum o Actix).
Borrow checker mejorado
En Rust 1.85, el analizador de préstamos se ha mejorado significativamente. Ahora comprende mejor los casos en los que una variable se usa después de un movimiento parcial:
- Se permite tomar prestados campos individuales de una estructura, incluso si otros campos ya se han movido.
- Se ha mejorado el manejo de préstamos anidados en iteradores.
- Se ha reducido la cantidad de advertencias falsas en código con construcciones condicionales.
Esto es especialmente útil al trabajar con estructuras de datos grandes donde se requiere propiedad parcial.
Nuevas capacidades de macros
El lanzamiento incluye una expansión del sistema de macros (proc macros):
- Se agregó soporte para token streams con la capacidad de modificar posiciones en el código fuente.
- Se simplificó la creación de macros de atributos para estructuras y enumeraciones.
- Se mejoró el manejo de errores dentro de las macros: ahora los mensajes se muestran con la indicación exacta de la línea en el código del usuario.
Esto hará que el desarrollo de bibliotecas para serialización (serde), enrutamiento web y generación de código sea más flexible.
Optimización del compilador y mejoras en cargo
Los desarrolladores continuaron trabajando en el rendimiento de la compilación:
- Se aceleró la compilación incremental para proyectos grandes (hasta un 15% más rápido).
- En
cargo checkse agregó soporte para el análisis paralelo de dependencias. - En
cargo buildse mejoró el almacenamiento en caché de artefactos intermedios.
También en cargo apareció un nuevo comando cargo info, que muestra información detallada sobre un paquete del registro (versiones, dependencias, licencia) sin necesidad de descargarlo.
Correcciones de seguridad y estabilidad
En la versión 1.85 se cerraron varias vulnerabilidades relacionadas con el manejo de código inseguro (unsafe). Se corrigieron errores en la gestión de memoria al usar std::mem::transmute y MaybeUninit. El equipo de Rust recomienda a todos los usuarios actualizarse para garantizar la seguridad de sus proyectos.
Cómo actualizarse
La actualización está disponible a través del instalador oficial rustup. Para instalar la nueva versión, ejecute el comando:
Recommended Libraries
Más noticias
Benchmark 2025: Comparación de rendimiento de Kotlin con Java, Go y Rust
Hoja de ruta de desarrollo de Swift para 2025-2026: nuevos horizontes para iOS/macOS
Grandes empresas migran a C# (.NET): la principal tendencia de 2025
Encuesta a desarrolladores Kotlin: qué frameworks se usan realmente en producción
Nuevo framework para Node.js Hono gana impulso en 2024