Hrdza 1.36

Vývojový tím s nadšením predstavuje Rust 1.36!

Čo je nové v Rust 1.36?
Future trait bola stabilizovaná z novej: crate alloc, MaybeUninit, NLL pre Rust 2015, nová implementácia HashMap a nový príznak -offline pre Cargo.


A teraz podrobnejšie:

  • Nakoniec v Rust 1.36 stabilizovaný vlastnosť Budúcnosť.
  • Pridelenie prepravky.
    Od Rust 1.36 sú časti std, ktoré závisia od globálneho alokátora (napríklad Vec), v alokačnej schránke. Teraz std tieto diely reexportuje. Viac o tomto.
  • MaybeUninit namiesto mem::uninicialized.
    V predchádzajúcich vydaniach vám mem::uninitialized umožňoval obísť kontrolu inicializácie, používal sa na prideľovanie lenivých polí, ale táto funkcia je dosť nebezpečná (RїRѕRґSЂRѕR ± RЅRμRμ), tak bol stabilizovaný typ MaybeUninit, ktorý je bezpečnejší.
    No, keďže MaybeUninit je bezpečnejšia alternatíva, počnúc Rustom 1.38 bude mem::uninitialized zastaranou funkciou.
    Ak sa chcete dozvedieť viac o neinicializovanej pamäti, môžete si prečítať tento blogový príspevok od Alexis Beingessner.
  • NLL pre Rust 2015.
    V oznámení Hrdza 1.31.0 Vývojári nám povedali o NLL (Non-Lexical Lifetime), vylepšení jazyka, vďaka ktorému je kontrola pôžičiek inteligentnejšia a užívateľsky príjemnejšia. Príklad:
    fnmain() {
    nech mut x = 5;
    nech y = &x;
    nech z = &mut x; // Pred 1.31.0 to nebolo povolené.
    }

    V 1.31.0 NLL fungovala iba v Rust 2018 s prísľubom, že vývojári pridajú podporu v Rust 2015.
    Ak sa chcete o NLL dozvedieť viac, viac sa dočítate v tomto článku blogové príspevky (Felix Klocks).

  • Nová vlajka pre Cargo je —offline.
    Rust 1.36 stabilizoval novú vlajku pre Cargo. Príznak --offline hovorí spoločnosti Cargo, aby používala závislosti uložené v lokálnej vyrovnávacej pamäti, aby ich bolo možné neskôr použiť offline. Keď potrebné závislosti nie sú dostupné offline a ak je stále potrebný internet, Cargo vráti chybu. Ak chcete vopred stiahnuť závislosti, môžete použiť príkaz cargo fetch, ktorý stiahne všetky závislosti.
  • Tu si môžete prečítať podrobnejší prehľad zmien.

Zmeny nastali aj v štandardnej knižnici:

Ďalšie zmeny Hrdza, náklad и Clippy.

Zdroj: linux.org.ru

Pridať komentár