Rust 1.36

Zespół deweloperów ma przyjemność zaprezentować Rust 1.36!

Co nowego w Rust 1.36?
Został zaktualizowany trait Future, wprowadzając nowość: crate alloc, MaybeUninit, NLL dla Rust 2015, nowa implementacja HashMap oraz nowa flaga —offline dla Cargo.


A teraz szczegóły:

  • W Rust 1.36 w końcu został ustabilizowany trait Future.
  • Crate alloc.
    Począwszy od Rust 1.36, części std, które zależą od globalnego alokatora (np. Vec), znajdują się w crate alloc. Teraz std reeksportuje te części. Więcej na ten temat.
  • MaybeUninit zamiast mem::uninitialized.
    W poprzednich wersjach mem::uninitialized pozwalało na ominięcie kontroli inicjalizacji, co było używane do leniwej alokacji tablic, lecz ta funkcja jest dość niebezpieczna (więcej informacji), dlatego stabilizowano typ MaybeUninit, który jest bezpieczniejszy.
    Ponadto z racji, że MaybeUninit jest bezpieczniejszą alternatywą, począwszy od Rust 1.38, mem::uninitialized stanie się przestarzałą funkcją.
    Jeśli chcesz dowiedzieć się więcej o nieinicjalizowanej pamięci, możesz przeczytać wpis na blogu (Alexis Beingessner).
  • NLL dla Rust 2015.
    W ogłoszeniu Rust 1.31.0 deweloperzy opowiadali nam o NLL (Non-Lexical Lifetime), udoskonaleniu dla języka, które sprawia, że borrow checker jest mądrzejszy i bardziej przyjazny dla użytkownika. Przykład:
    fn main() {
    let mut x = 5;
    let y = &x;
    let z = &mut x; // To nie było dozwolone przed 1.31.0.
    }

    W 1.31.0 NLL działał tylko w Rust 2018, z obietnicą, że deweloperzy dodadzą wsparcie również dla Rust 2015.
    Jeśli chcesz dowiedzieć się więcej o NLL, możesz przeczytać więcej w tym wpisie na blogu (Felix Klocks).

  • Nowa flaga dla Cargo — —offline.
    W Rust 1.36 stabilizowano nową flagę dla Cargo. Flaga —offline informuje Cargo, aby używało lokalnie zasobów z cache, aby później można je było wykorzystać bez dostępu do Internetu. Gdy wymagane zasoby są niedostępne offline, a Internet jest potrzebny, Cargo zwróci błąd. Aby wcześniej pobrać zasoby, można użyć polecenia cargo fetch, które pobierze wszystkie zasoby.
  • Tutaj możesz przeczytać bardziej szczegółowy przegląd zmian.

Są także zmiany w standardowej bibliotece:

Inne zmiany Rust, Cargo i Clippy.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster