Moho 1.36

¡El equipo de desarrollo se complace en presentar Rust 1.36!

¿Qué hay de nuevo en Rust 1.36?
Rasgo futuro estabilizado, desde nuevo: alloc crate, MaybeUninit , NLL para Rust 2015, una nueva implementación de HashMap y una nueva bandera: fuera de línea para Cargo.


Y ahora con más detalle:

  • Finalmente en Rust 1.36 estabilizado rasgo Futuro.
  • Asignación de cajas.
    A partir de Rust 1.36, partes del estándar que dependen del asignador global (como Vec ), están en la caja de asignación. Ahora std reexportará estas piezas. Más sobre eso.
  • QuizásUnidad en lugar de mem::uninitialized.
    En versiones anteriores, mem::uninitialized le permitía omitir la verificación de inicialización, se usaba para la asignación diferida de matrices, pero esta función es bastante peligrosa (más), por lo que el tipo MaybeUninit se estabilizó , que es más seguro.
    Bueno, desde MaybeUninit es una alternativa más segura, a partir de Rust 1.38, mem::uninitialized será una característica obsoleta.
    Si desea obtener más información sobre la memoria no inicializada, puede leer esta publicación de blog de Alexis Beingessner.
  • NLL para Rust 2015.
    en el anuncio Moho 1.31.0 Los desarrolladores nos hablaron sobre NLL (Non-Lexical Lifetime), una mejora del lenguaje que hace que el verificador de préstamos sea más inteligente y fácil de usar. Ejemplo:
    fn principal() {
    sea ​​mut x = 5;
    sea ​​y = &x;
    sea ​​z = &mut x; // Esto no estaba permitido antes de la versión 1.31.0.
    }

    En 1.31.0, NLL solo funcionó en Rust 2018, con la promesa de que los desarrolladores agregarán soporte en Rust 2015.
    Si quieres saber más sobre NLL, puedes leer más en este entradas de blog (Félix Klocks).

  • La nueva bandera para Cargo es —fuera de línea.
    Rust 1.36 ha estabilizado una nueva bandera para Cargo. El indicador --offline le indica a Cargo que use dependencias almacenadas en caché localmente para que puedan usarse sin conexión más adelante. Cuando las dependencias necesarias no están disponibles sin conexión y si aún se necesita Internet, Cargo devolverá un error. Para descargar previamente las dependencias, puede utilizar el comando cargo fetch, que descargará todas las dependencias.
  • es Puede leer una descripción más detallada de los cambios.

También hay cambios en la biblioteca estándar:

Otros cambios Herrumbre, и Clippy.

Fuente: linux.org.ru

Añadir un comentario