Rovell 1.36

L'equip de desenvolupament està encantat de presentar Rust 1.36!

Què hi ha de nou a Rust 1.36?
Tret futur estabilitzat, a partir del nou: alloc crate, MaybeUninit , NLL per a Rust 2015, una nova implementació de HashMap i una nova bandera fora de línia per a Cargo.


I ara amb més detall:

  • Finalment a Rust 1.36 estabilitzat tret Futur.
  • Caixa alloc.
    A partir de Rust 1.36, parts de l'estd que depenen de l'assignador global (com ara Vec ), es troben a la caixa alloc. Ara std tornarà a exportar aquestes parts. Més sobre això.
  • Potser Unitat en lloc de mem::sin inicialitzar.
    En versions anteriors, mem::uninitialized us permetia ometre la comprovació d'inicialització, s'utilitzava per a l'assignació de matrius mandrosos, però aquesta funció és força perillosa (més), de manera que el tipus MaybeUninit es va estabilitzar , que és més segur.
    Bé, des de MaybeUninit és una alternativa més segura, a partir de Rust 1.38, mem::uninitialized serà una característica obsoleta.
    Si voleu obtenir més informació sobre la memòria no inicialitzada, podeu llegir aquesta entrada al bloc d'Alexis Beingessner.
  • NLL per a Rust 2015.
    A l'anunci Rovell 1.31.0 Els desenvolupadors ens van parlar de NLL (Non-Lexical Lifetime), una millora per al llenguatge que fa que el verificador de préstecs sigui més intel·ligent i fàcil d'utilitzar. Exemple:
    fn principal() {
    deixem mut x = 5;
    sigui y = &x;
    sigui z = &mut x; // Això no estava permès abans de l'1.31.0.
    }

    A l'1.31.0, NLL només funcionava a Rust 2018, amb la promesa que els desenvolupadors afegiran suport a Rust 2015.
    Si voleu saber més sobre NLL, en podeu llegir més entrades del bloc (Félix Klocks).

  • La nova bandera de Cargo és —desconnectat.
    Rust 1.36 ha estabilitzat una nova bandera per a la càrrega. El senyalador --offline indica a Cargo que utilitzi dependències emmagatzemades a la memòria cau localment perquè es puguin utilitzar fora de línia més tard. Quan les dependències necessàries no estiguin disponibles fora de línia i si encara es necessita Internet, Cargo retornarà un error. Per tal de baixar prèviament les dependències, podeu utilitzar l'ordre de càrrega de càrrega, que baixarà totes les dependències.
  • Aquí podeu llegir una visió general més detallada dels canvis.

També hi ha canvis a la biblioteca estàndard:

Altres canvis Rovell, Càrrega и Clippy.

Font: linux.org.ru

Afegeix comentari