Se ha lanzado el lenguaje de programación de propósito general Rust 1.85, fundado por el proyecto Mozilla pero ahora desarrollado bajo los auspicios de la organización independiente sin fines de lucro Rust Foundation. Además de la versión regular número 1.85, la versión se denomina Rust 2024, lo que marca la estabilización de los cambios propuestos durante los últimos tres años. La versión del lenguaje "Rust 2024" será la base para la incorporación de funciones durante los próximos tres años, de manera similar a cómo la versión Rust 2021 ha sido la base para el desarrollo del lenguaje durante los últimos tres años.
Para mantener la compatibilidad, los desarrolladores pueden usar las etiquetas "2015", "2018", "2021" y "2024" en sus programas para vincularlos a partes del estado del lenguaje correspondientes a las ediciones de Rust elegidas. Las ediciones se introdujeron para separar los cambios incompatibles y se configuran en los metadatos del paquete de carga a través del campo "edición" en la sección "[paquete]".
Por ejemplo, la edición 2021 incluye la funcionalidad estabilizada a finales de 2021 y cubre todos los cambios adicionales que no rompan la compatibilidad. La versión 2024 también incluye características incompatibles propuestas en la versión 1.85 actual y aprobadas para su implementación futura. Además del lenguaje en sí, los editores también tienen en cuenta el estado de las herramientas y la documentación. El comando "cargo fix" se puede utilizar para adaptar automáticamente el código a una nueva revisión del lenguaje.
Las principales incompatibilidades corregidas en Rust 2024 son:
- Se modificó el comportamiento al capturar parámetros en "impl Trait" a menos que se use la nueva sintaxis "use<..>" para especificar información de tipo oculta. En Rust 2024, a menos que se use "use<..>", todos los parámetros dentro del alcance se capturan implícitamente. Si necesita limitar la captura de parámetros, debe utilizar "use<..>", por ejemplo, "impl Trait + use
Fuente: opennet.ru
