L'equip de desenvolupament està encantat de presentar Rust 1.36!
Què hi ha de nou a Rust 1.36?
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:
- La macro dbg!() ara pot prendre diversos arguments.
- Diverses API es marquen ara const:
- Noves API que s'han estabilitzat:
- Altres canvis a la biblioteca estàndard es poden trobar aquí aquí.
Altres canvis Rovell, Càrrega и Clippy.
Font: linux.org.ru