Vývojový tím s nadšením predstavuje Rust 1.36!
Čo je nové v Rust 1.36?
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:
- Makro dbg!() teraz môže mať viacero argumentov.
- Niekoľko rozhraní API je teraz označených ako const:
- Nové rozhrania API, ktoré boli stabilizované:
- Ďalšie zmeny štandardnej knižnice nájdete tu tu.
Ďalšie zmeny Hrdza, náklad и Clippy.
Zdroj: linux.org.ru