Rust 1.36

Udviklingsteamet er glade for at introducere Rust 1.36!

Hvad er nyt i Rust 1.36?
Fremtidig egenskab stabiliseret, fra ny: alloc kasse, MaybeUninit , NLL til Rust 2015, en ny implementering af HashMap og et nyt flag -offline til Cargo.


Og nu mere detaljeret:

  • Endelig i Rust 1.36 stabiliseret egenskab Fremtid.
  • Kassetildeling.
    Fra Rust 1.36 er dele af standarden, der afhænger af den globale allokator (såsom Vec ), er i tildelingskassen. Nu vil std gen-eksportere disse dele. Mere om det.
  • Måske Unit i stedet for mem::uinitialiseret.
    I tidligere udgivelser tillod mem::uninitialized dig at omgå initialiseringskontrollen, den blev brugt til doven arrayallokering, men denne funktion er ret farlig (mere), så MaybeUninit-typen blev stabiliseret , hvilket er mere sikkert.
    Nå, siden MaybeUninit er et mere sikkert alternativ, så fra Rust 1.38 vil mem::uninitialized være en forældet funktion.
    Hvis du vil lære mere om uinitialiseret hukommelse, kan du læse dette blogindlæg af Alexis Beingessner.
  • NLL til Rust 2015.
    I meddelelsen Rust 1.31.0 Udviklerne fortalte os om NLL (Non-Lexical Lifetime), en forbedring af sproget, der gør lånekontrollen smartere og mere brugervenlig. Eksempel:
    fn main() {
    lad mut x = 5;
    lad y = &x;
    lad z = &mut x; // Dette var ikke tilladt før 1.31.0.
    }

    I 1.31.0 fungerede NLL kun i Rust 2018, med løftet om, at udviklerne vil tilføje support i Rust 2015.
    Vil du vide mere om NLL, kan du læse mere heri blogindlæg (Felix Klocks).

  • Det nye flag for Cargo er —offline.
    Rust 1.36 har stabiliseret et nyt flag til Cargo. --offline-flaget fortæller Cargo at bruge lokalt cachelagrede afhængigheder, så de kan bruges offline senere. Når de nødvendige afhængigheder ikke er tilgængelige offline, og hvis der stadig er brug for internettet, vil Cargo returnere en fejl. For at forhåndsdownloade afhængigheder kan du bruge lasthentningskommandoen, som vil downloade alle afhængigheder.
  • Her kan du læse en mere detaljeret oversigt over ændringerne.

Der er også ændringer i standardbiblioteket:

Andre ændringer Rust, Last и Clippy.

Kilde: linux.org.ru

Tilføj en kommentar