Rđa 1.36

Razvojni tim je uzbuđen što predstavlja Rust 1.36!

Šta je novo u Rustu 1.36?
Obilježje Future je stabilizirano, od novog: crate alloc, MaybeUninit, NLL za Rust 2015, nova implementacija HashMap i nova zastavica -offline za Cargo.


A sada detaljnije:

  • Konačno u Rust 1.36 stabilizovano osobina Budućnost.
  • Crate alloc.
    Od Rusta 1.36, dijelovi std-a koji zavise od globalnog alokatora (kao što je Vec) nalaze se u kutiji za dodjelu. Sada će std ponovo izvesti ove dijelove. Više o tome.
  • MoždaUninit umjesto mem::uninitialized.
    U prethodnim izdanjima, mem::uninitialized vam je omogućio da zaobiđete provjeru inicijalizacije, korišten je za lijenu alokaciju niza, ali ova funkcija je prilično opasna (više informacija), tako da je tip MaybeUninit stabiliziran, što je sigurnije.
    Pa, pošto je MaybeUninit sigurnija alternativa, počevši od Rusta 1.38, mem::uninitialized će biti zastarjela funkcija.
    Ako želite saznati više o neinicijaliziranoj memoriji, možete pročitati ovaj blog post Alexis Beingessner.
  • NLL za Rust 2015.
    U najavi Rđa 1.31.0 Programeri su nam rekli o NLL-u (Non-Lexical Lifetime), poboljšanju jezika koje čini provjeru posuđivanja pametnijim i lakšim za korištenje. primjer:
    fn main() {
    neka mut x = 5;
    neka y = &x;
    neka z = &mut x; // Ovo nije bilo dozvoljeno prije 1.31.0.
    }

    U 1.31.0, NLL je radio samo u Rust 2018, uz obećanje da će programeri dodati podršku u Rust 2015.
    Ako želite saznati više o NLL-u, možete pročitati više u ovome blog entries (Felix Klocks).

  • Nova zastava za Cargo je —offline.
    Rust 1.36 je stabilizovao novu zastavu za Cargo. Oznaka --offline govori Cargu da koristi lokalno keširane zavisnosti kako bi se kasnije mogle koristiti van mreže. Kada potrebne zavisnosti nisu dostupne van mreže, i ako je internet i dalje potreban, Cargo će vratiti grešku. Da biste unaprijed preuzeli ovisnosti, možete koristiti naredbu cargo fetch, koja će preuzeti sve ovisnosti.
  • to je možete pročitati detaljniji pregled promjena.

Postoje i promjene u standardnoj biblioteci:

Ostale promjene rđa, teret и Clippy.

izvor: linux.org.ru

Dodajte komentar