Rust 1.36

Udviklingsteamet er glade for at præsentere Rust 1.36!

Hvad er nyt i Rust 1.36?
Trait Future er blevet stabiliseret, i tillæg er der kommet: crate alloc, MaybeUninit, NLL til Rust 2015, en ny implementering af HashMap og det nye flag —offline for Cargo.


Lad os se nærmere på det:

  • I Rust 1.36 er trait Future endelig blevet stabiliseret trait Future.
  • Crate alloc.
    Fra og med Rust 1.36 er dele af std, der afhænger af en global allokator (f.eks. Vec), flyttet til crate alloc. Nu eksporterer std disse dele. Læs mere om dette.
  • MaybeUninit i stedet for mem::uninitialized.
    I tidligere versioner tillod mem::uninitialized dig at omgå initialiseringskontrollen, hvilket blev brugt til doven allokering af arrays, men denne funktion er ret farlig (læse mere), derfor er typen MaybeUninit blevet stabiliseret, som er sikrere.
    Og da MaybeUninit er et sikrere alternativ, vil mem::uninitialized fra og med Rust 1.38 blive betragtet som en forældet funktion.
    Hvis du vil vide mere om ikke-initialiseret hukommelse, kan du læse blogindlægget (Alexis Beingessner).
  • NLL til Rust 2015.
    I annoncen Rust 1.31.0 fortalte udviklerne os om NLL (Non-Lexical Lifetime), en forbedring til sproget, der gør borrow checker smartere og mere brugervenlig. Eksempel:
    fn main() {
    let mut x = 5;
    let y = &x;
    let z = &mut x; // Dette var ikke tilladt før 1.31.0.
    }

    I 1.31.0 fungerede NLL kun i Rust 2018, med et løfte om, at udviklerne ville tilføje support for Rust 2015.
    Hvis du vil finde ud af mere om NLL, kan du læse mere i denne blogindlæg (Felix Klocks).

  • Et nyt flag for Cargo — —offline.
    I Rust 1.36 er et nyt flag for Cargo blevet stabiliseret. Flaget —offline beder Cargo om at bruge lokalt cached dependencies, så de senere kan bruges uden internet. Når de nødvendige dependencies ikke er tilgængelige offline og hvis internet er nødvendigt, vil Cargo returnere en fejl. For at forudindlæse dependencies kan du bruge kommandoen cargo fetch, som downloader alle dependencies.
  • Her du kan læse en mere detaljeret gennemgang af ændringerne.

Der er også ændringer i standardbiblioteket:

Andre ændringer Rust, Cargo og Clippy.

Kilde: linux.org.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster