Rez 1.36

Vývojový tým s nadšením představuje Rust 1.36!

Co je nového v Rustu 1.36?
Budoucí vlastnost byla stabilizována z nové: crate alloc, MaybeUninit, NLL pro Rust 2015, novou implementaci HashMap a nový příznak -offline pro Cargo.


A nyní podrobněji:

  • Konečně v Rustu 1.36 stabilizovaný vlastnost Budoucnost.
  • Přidělení bedny.
    Od Rust 1.36 jsou části std, které závisí na globálním alokátoru (jako je Vec), v alokační bedně. Nyní std tyto díly reexportuje. Více o tomto.
  • MaybeUninit místo mem::uninitialized.
    V předchozích verzích vám mem::uninitialized umožňoval obejít kontrolu inicializace, používal se pro líné přidělování pole, ale tato funkce je docela nebezpečná (více), takže byl stabilizován typ MaybeUninit, který je bezpečnější.
    Protože MaybeUninit je bezpečnější alternativou, počínaje Rustem 1.38 bude mem::uninitialized zastaralou funkcí.
    Pokud se chcete dozvědět více o neinicializované paměti, můžete si přečíst tento blogový příspěvek od Alexis Beingessner.
  • NLL pro Rust 2015.
    V oznámení Rez 1.31.0 Vývojáři nám řekli o NLL (Non-Lexical Lifetime), vylepšení jazyka, díky kterému je kontrola půjček chytřejší a uživatelsky přívětivější. Příklad:
    fn main() {
    nechť mut x = 5;
    nechť y = &x;
    nechť z = &mut x; // Před verzí 1.31.0 to nebylo povoleno.
    }

    V 1.31.0 NLL fungovalo pouze v Rust 2018 s příslibem, že vývojáři přidají podporu v Rust 2015.
    Pokud se chcete dozvědět více o NLL, můžete si přečíst více v tomto příspěvky na blogu (Felix Klocks).

  • Nová vlajka pro Cargo je —offline.
    Rust 1.36 stabilizoval novou vlajku pro Cargo. Příznak --offline říká Cargo, aby použilo závislosti uložené v místní mezipaměti, aby je bylo možné později použít offline. Pokud potřebné závislosti nejsou dostupné offline a pokud je stále potřeba internet, Cargo vrátí chybu. Chcete-li předem stáhnout závislosti, můžete použít příkaz cargo fetch, který stáhne všechny závislosti.
  • Zde si můžete přečíst podrobnější přehled změn.

Změny jsou také ve standardní knihovně:

Další změny Rez, Náklad и Clippy.

Zdroj: linux.org.ru

Přidat komentář