Desde Linux Darkcrizt  

Ya fue liberado y estas son sus novedades Rust 1.73.0

rust logo

Rust es un lenguaje de programación compilado, de propósito general y multiparadigma

Hace poco se dio a conocer el lanzamiento de la nueva versión estable del popular lenguaje de programación Rust 1.7.3, versión en la cual los desarrolladores destacan cambios que hacen que los mensajes de error «panic» ahora puedan mostrar un mensaje personalizado, asi cómo también que se han estabilizado algunas APIs, diversas mejoras y más.

Para quienes desconocen de este lenguaje de programación deben saber que se enfoca en la seguridad de la memoria y proporciona los medios para lograr un alto paralelismo de trabajos mientras evita el uso de un recolector de basura y tiempo de ejecución (el tiempo de ejecución se reduce a la inicialización básica y el mantenimiento de la biblioteca estándar).

Los métodos de manejo de memoria de Rust salvan al desarrollador de errores al manipular punteros y protegen contra los problemas que surgen debido al manejo de memoria de bajo nivel, como acceder a un área de memoria después de haberla liberado, desreferenciar punteros nulos, desbordamientos de búfer, etc.

Principales novedades de Rust 1.7.3

En esta nueva versión que se presenta de Rust 1.7.3, como ya se menciono al inicio, una de las novedades más destacadas de este lanzamiento es el rediseño en el formato de los mensajes emitidos por la macro «¡pánic!», la cual es el controlador de fallos predeterminado del programa, la cual básicamente cuando ocurre un error mostrara un mensaje en pantalla, limpiara la memoria y cerrara el programa.

Con las mejoras introducidas en este lanzamiento ahora en el texto especificado (el cual era predeterminado) en la macro panic, ahora se muestra en una línea separada sin comillas, lo que hace que el mensaje sea más fácil de leer y elimina la confusión cuando hay comillas anidadas o divisiones en varias líneas, se ha proporcionado la capacidad de poner un mensaje propio en línea en lugar de entre comillas. Además, los mensajes de pánico producidos por assert_eq y assert_ne se modificaron, moviendo el mensaje personalizado y eliminando algunos signos de puntuación innecesarios.

Otro de los cambios que se destaca de esta nueva versión, es con base en la propuesta con el RFC 3184 , en el cual básicamente propone la capacidad de manipular directamente las claves de almacenamiento locales de subprocesos LocalKey, LocalKey<Cell<T>> and LocalKey<RefCell<T>> mediante el uso de get(), set(), take() y se han agregado los métodos replace(), que eliminan la necesidad de código de inicialización adicional para los valores predeterminados especificados para nuevos subprocesos usando la macro «thread_local!».

Por la parte de las mejoras en Cargo se destaca que se ha añadido la capacidad de imprir variables de entorno cargo run/bench/testen modo extra detallado -vv, asi como también que ahora muestra las versiones del paquete en el gráfico de tiempos de carga y que se corrigió la impresión de múltiples mensajes de advertencia para campos no utilizados.

De los demás cambios que se destacan de esta nueva versión:

  • Se transfirió una nueva parte de la API a la categoría estable, incluidos los métodos y las implementaciones de rasgos.
  • El compilador proporciona registro de información de la versión en la sección «.comment», similar a GCC y Clang.
  • Se ha implementado el tercer nivel de soporte para diferentes plataformas. El tercer nivel implica soporte básico, pero sin pruebas automatizadas, publicación de compilaciones oficiales y verificación de la capacidad de compilación del código.
  • Se ha implementado el segundo nivel de soporte para la plataforma de destino wasm32-wasi-preview1-threads. El segundo nivel de soporte implica una garantía de montaje.
  • Se añadió documentación sobre la manipulación de símbolos v0.
    Se estabilizo extern «thiscall»y «thiscall-unwind»ABI.
  • Infiere el tipo en patrones de corte irrefutables con longitud fija como matriz.
  • Ahora se descartan las implicaciones de rasgos automáticos predeterminados si existen específicos.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Finalmente, para quienes estén interesados en actualizar desde una versión anterior de Rust instalada a través de rustup, se puede obtener la nueva versión de Rust 1.73.0 con:

rustup update stable

Si aún no cuentas con Rust instalado en tu sistema, puedes hacerlo ejecutando el siguiente comando en una terminal:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.