Utvecklarteamet Àr glada att presentera Rust 1.36!
Vad Àr nytt i Rust 1.36?
LÄt oss gÄ pÄ djupet:
- I Rust 1.36 har vi Àntligen stabiliserat trait Future.
- Crate alloc.
FrÄn och med Rust 1.36, delar av std som Àr beroende av den globala alloktorn (till exempel Vec), finns nu i crate alloc. Nu Äterexporterar std dessa delar. Mer om detta. - MaybeUninit istÀllet för mem::uninitialized.
I tidigare versioner tillÀt mem::uninitialized dig att kringgÄ initialiseringskontrollen, vilket anvÀndes för lat allokering av arrayer, men denna funktion Àr ganska farlig (mer information), dÀrför har typen MaybeUninit stabiliserats, som Àr sÀkrare.
Och eftersom MaybeUninit Àr ett sÀkrare alternativ, sÄ kommer mem::uninitialized att bli en förÄldrad funktion frÄn och med Rust 1.38.
Om du vill veta mer om oinitialiserat minne kan du lÀsa ett blogginlÀgg (Alexis Beingessner). - NLL för Rust 2015.
I tillkÀnnagivandet av Rust 1.31.0 berÀttade utvecklarna om NLL (Non-Lexical Lifetime), en förbÀttring för sprÄket som gör borrow checker smartare och mer anvÀndarvÀnlig. Exempel:
fn main() {
let mut x = 5;
let y = &x;
let z = &mut x; // Detta var inte tillÄtet före 1.31.0.
}I 1.31.0 fungerade NLL endast i Rust 2018, med löftet att utvecklarna skulle lÀgga till stöd Àven för Rust 2015.
Om du vill veta mer om NLL kan du lĂ€sa mer i denna blogginlĂ€gg (Felix Klocks). - Ny flagga för Cargo â --offline.
I Rust 1.36 stabiliserades en ny flagga för Cargo. Flaggan âoffline sĂ€ger Ă„t Cargo att anvĂ€nda lokalt cachelagrade beroenden sĂ„ att de kan anvĂ€ndas utan internet senare. NĂ€r nödvĂ€ndiga beroenden inte Ă€r tillgĂ€ngliga offline, och om internet faktiskt behövs, sĂ„ kommer Cargo att ge ett felmeddelande. För att ladda ner beroenden i förvĂ€g kan du anvĂ€nda kommandot cargo fetch, vilket laddar ner alla beroenden. - HĂ€r du kan lĂ€sa en mer detaljerad översikt över Ă€ndringarna.
Det finns ocksÄ Àndringar i standardbiblioteket:
- Nu kan makrot dbg!() ta flera argument.
- Ett antal API:er Àr nu mÀrkta med const:
- Nya API:er som har stabiliserats:
- Andra Àndringar i standardbiblioteket kan du hitta hÀr.
Ăvriga förĂ€ndringar Rust, Cargo och Clippy.
KĂ€lla: linux.org.ru
