Vývojový tým s nadšením představuje Rust 1.36!
Co je nového v Rustu 1.36?
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ě:
- Makro dbg!() nyní může mít více argumentů.
- Několik rozhraní API je nyní označeno jako const:
- Nová rozhraní API, která byla stabilizována:
- Další změny standardní knihovny naleznete zde zde.
Další změny Rez, Náklad и Clippy.
Zdroj: linux.org.ru