Ruggine 1.36

U squadra di sviluppu hè entusiasta di presentà Rust 1.36!

Chì ci hè di novu in Rust 1.36?
Trattu futuru stabilizatu, da novu: alloc crate, MaybeUninit , NLL per Rust 2015, una nova implementazione di HashMap è una nova bandiera -offline per Cargo.


È avà in più detail:

  • Finalmente in Rust 1.36 stabilizatu trait Futur.
  • Crate alloc.
    Da Rust 1.36, parti di u std chì dipendenu di l'allocatore glubale (cum'è Vec ), sò in l'alloc crate. Avà std riesportarà queste parti. Più nantu à questu.
  • Forse Unità invece di mem::uninitialized.
    In e versioni precedenti, mem::uninitialized vi permette di scaccià u cuntrollu di inizializazione, hè stata utilizata per l'attribuzione di array lazy, ma sta funzione hè abbastanza periculosa (più infurmazione), cusì u tipu MaybeUninit hè statu stabilizatu , chì hè più sicura.
    Ebbè, dapoi MaybeUninit hè una alternativa più sicura, allora da Rust 1.38, mem::uninitialized serà una funzione obsoleta.
    Se vulete sapè più nantu à a memoria micca inizializzata, pudete leghje stu blog post di Alexis Beingessner.
  • NLL per Rust 2015.
    In l'annunziu Ruggine 1.31.0 I sviluppatori ci anu parlatu di NLL (Non-Lexical Lifetime), una mellura per a lingua chì rende u verificatore di prestitu più intelligente è più amichevule. Esempiu:
    fn main() {
    lasciate mut x = 5;
    lasciate y = &x;
    sia z = &mut x; // Questu ùn era micca permessu prima di 1.31.0.
    }

    In 1.31.0, NLL hà travagliatu solu in Rust 2018, cù a prumessa chì i sviluppatori aghjunghjenu supportu in Rust 2015.
    Se vulete sapè più nantu à NLL, pudete leghje più in questu entrate di blog (Félix Klocks).

  • A nova bandiera per Cargo hè - offline.
    Rust 1.36 hà stabilizatu una nova bandiera per Cargo. A bandiera --offline dice à Cargo d'utilizà dipendenze in cache locale in modu chì ponu esse aduprate offline dopu. Quandu i dependenzi necessarii ùn sò micca dispunibuli offline, è se l'Internet hè sempre necessariu, allora Cargo torna un errore. Per pre-scaricare dipendenze, pudete aduprà u cumandamentu di carica di carica, chì scaricarà tutte e dipendenze.
  • pudete leghje una panoramica più dettagliata di i cambiamenti.

Ci sò ancu cambiamenti in a biblioteca standard:

Altri cambiamenti Rust, Cargo и Clippy.

Source: linux.org.ru

Add a comment