Rust 1.36

Arenduse meeskond on rõõmuga tutvustanud Rust 1.36!

Mis on uut Rust 1.36-s?
Töötas välja Future trait, uue sisuna: crate alloc, MaybeUninit, NLL Rust 2015 jaoks, uus HashMap teostus ja uus lipp —offline Cargo jaoks.


Nüüd lähemalt:

  • Rust 1.36-s on lõpuks stabiliseeritud Future trait.
  • Crate alloc.
    Alates Rust 1.36-st sõltuvad std osad, mis vajavad globaalset allocatorit (nt Vec), crate alloc. Nüüd reekspordib std need osad. Rohkem sellest.
  • MaybeUninit mem::uninitialized asemel.
    Varasemates väljaannetes võimaldas mem::uninitialized teil mööda minna initsialiseerimise kontrollist, see oli mõeldud massiivide laiskadele allocatsioonidele, kuid see funktsioon on üsna ohtlik (lähemalt), seetõttu stabiliseeriti MaybeUninit tüüp, mis on ohutum.
    Ja kuna MaybeUninit on ohutum alternatiiv, siis alates Rust 1.38-st on mem::uninitialized muutunud aegunud funktsiooniks.
    Kui soovite rohkem teada mitte initsialiseeritud mälu kohta, võite lugeda blogipostitust (Alexis Beingessner).
  • NLL Rust 2015 jaoks.
    Rust 1.31.0 teatasid arendajad meile NLL-st (Non-Lexical Lifetime), parandusest keeles, mis teeb borrow checker'i targemaks ja kasutajasõbralikumaks. Näide: let mut x = 5;
    fn main() {
    let y = &x;
    let z = &mut x; // See ei olnud lubatud enne 1.31.0.
    1.31.0-s töötas NLL ainult Rust 2018-s, lubadusega, et arendajad lisavad toetuse ka Rust 2015-le.
    }

    Kui soovite rohkem teada NLL-st, võite rohkem lugeda sellest
    blogipostist (Felix Klocks). Uus lipp Cargo jaoks —offline.

  • Rust 1.36-s stabiliseeriti uus lipp Cargo jaoks. Lipp —offline ütleb Cargo-le kasutada lokaalselt vahemällu salvestatud sõltuvusi, et neid hiljem saaks kasutada ilma internetita. Kui vajalikud sõltuvused pole saadaval offline-režiimis, ja kui internet on ikka vajalik, siis tagastab Cargo vea. Sõltuvuste eelnevalt allalaadimiseks võite kasutada käsku cargo fetch, mis allalaadib kõik sõltuvused.
    saate lugeda muudatuste kohta põhjalikumalt.
  • Siin Samuti on muudatused standardteegis:

Nüüd võib makro dbg!() võtta mitu argumenti.

Teised muudatused Rustis, Cargo ja Clippy.

Allikas: linux.org.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster