Ferruxe 1.36

O equipo de desenvolvemento está encantado de presentar Rust 1.36!

Que hai de novo en Rust 1.36?
Trazo futuro estabilizado, a partir de novo: alloc crate, MaybeUninit , NLL para Rust 2015, unha nova implementación de HashMap e unha nova bandeira sen conexión para Cargo.


E agora con máis detalle:

  • Finalmente en Rust 1.36 estabilizado trazo Futuro.
  • Caixa aloc.
    A partir de Rust 1.36, as partes do estándar que dependen do asignador global (como Vec ), están na caixa alloc. Agora std volverá exportar estas pezas. Máis sobre isto.
  • Quizais Unidade en lugar de mem::non inicializado.
    En versións anteriores, mem::uninitialized permitíache ignorar a comprobación de inicialización, utilizábase para a asignación de matrices preguiceiros, pero esta función é bastante perigosa (máis), polo que se estabilizou o tipo MaybeUninit , que é máis seguro.
    Ben, desde MaybeUninit é unha alternativa máis segura, entón a partir de Rust 1.38, mem::uninitialized será unha característica obsoleta.
    Se queres saber máis sobre a memoria non inicializada, podes ler esta publicación de Alexis Beingessner.
  • NLL para Rust 2015.
    No anuncio Ferruxe 1.31.0 Os desenvolvedores faláronnos de NLL (Non-Lexical Lifetime), unha mellora para a linguaxe que fai que o verificador de préstamos sexa máis intelixente e máis fácil de usar. Exemplo:
    fn main() {
    deixe mut x = 5;
    sexa y = &x;
    sexa z = &mut x; // Isto non estaba permitido antes do 1.31.0.
    }

    Na versión 1.31.0, NLL só funcionaba en Rust 2018, coa promesa de que os desenvolvedores engadirán soporte en Rust 2015.
    Se queres saber máis sobre NLL, podes ler máis neste entradas do blog (Félix Klocks).

  • A nova bandeira de Carga está fóra de liña.
    Rust 1.36 estabilizou unha nova bandeira para Cargo. A marca --offline indica a Cargo que use dependencias almacenadas na memoria caché local para que se poidan usar sen conexión máis tarde. Cando as dependencias necesarias non estean dispoñibles sen conexión e se aínda se necesita Internet, Cargo devolverá un erro. Para pre-descargar dependencias, podes usar o comando cargo fetch, que descargará todas as dependencias.
  • Aquí podes ler unha visión xeral máis detallada dos cambios.

Tamén hai cambios na biblioteca estándar:

Outros cambios Ferrugem, Carga и Clippy.

Fonte: linux.org.ru

Engadir un comentario