Ekipi i zhvilluesve me kënaqësi ju prezanton Rust 1.36!
ĂfarĂ« ka tĂ« re nĂ« Rust 1.36?
Tani me detaje:
- Në Rust 1.36 përfundimisht u stabilizua trait Future.
- Crate alloc.
Deri nga Rust 1.36, pjesët e std që varen nga alokatori global (për shembull, Vec), ndodhen në crate alloc. Tani std ri-eksporton këto pjesë. Më shumë rreth kësaj. - MaybeUninit në vend të mem::uninitialized.
Në lëshimet e mëparshme, mem::uninitialized ju lejonte të anashkalonit verifikimin e inicializimit, e cila përdorej për alokimin e vonuar të array-ve, por kjo funksion ishte mjaft e rrezikshme (më shumë), për këtë arsye u stabilizua lloji MaybeUninit, i cili është më i sigurt.
Dhe pasi MaybeUninit është një alternativë më e sigurt, që nga Rust 1.38, mem::uninitialized do të jetë një funksion i vjetëruar.
Nëse dëshirani të mësoni më shumë rreth memories së pa inicializuar, mund të lexoni postimin në blog (Alexis Beingessner). - NLL për Rust 2015.
Në njoftimin Rust 1.31.0 zhvilluesit na folën për NLL (Non-Lexical Lifetime), një përmirësim për gjuhën, i cili e bën kontrolluesin e huazimit më inteligjent dhe më miqësor për përdoruesin. Për shembull:
fn main() {
let mut x = 5;
let y = &x;
let z = &mut x; // Kjo nuk lejohej para 1.31.0.
}Në 1.31.0 NLL punonte vetëm në Rust 2018, me premisën se zhvilluesit do të shtonin mbështetje edhe për Rust 2015.
NĂ«se dĂ«shirani tĂ« mĂ«soni mĂ« shumĂ« rreth NLL, mund tĂ« lexoni mĂ« shumĂ« nĂ« kĂ«tĂ« shkrimin nĂ« blog (Felix Klocks). - Flamuri i ri pĂ«r Cargo âoffline.
NĂ« Rust 1.36 u stabilizua njĂ« flamur i ri pĂ«r Cargo. Flamuri âoffline i thotĂ« Cargo tĂ« pĂ«rdorĂ« varĂ«sitĂ« e ruajtura lokal, nĂ« mĂ«nyrĂ« qĂ« mĂ« vonĂ« ato tĂ« mund tĂ« pĂ«rdoren pa internet. Kur varĂ«sitĂ« e nevojshme nuk janĂ« nĂ« dispozicion offline, dhe nĂ«se interneti Ă«shtĂ« i nevojshĂ«m, Cargo do tĂ« kthejĂ« njĂ« gabim. PĂ«r tĂ« shkarkuar paraprakisht varĂ«sitĂ«, mund tĂ« pĂ«rdorni komandĂ«n cargo fetch, e cila do tĂ« shkarkojĂ« tĂ« gjitha varĂ«sitĂ«. - KĂ«tu mund tĂ« lexoni njĂ« rishikim mĂ« tĂ« detajuar tĂ« ndryshimeve.
Ka gjithashtu dhe ndryshime në bibliotekën standarde:
- Tani makrosi dbg!() mund të pranojë disa argumente.
- Disa API tani janë të shënuara si const:
- API të reja që janë stabilizuar:
- Ndryshime të tjera në bibliotekën standarde mund të gjeni këtu.
Ndryshime të tjera Rust, Cargo dhe Clippy.
Burimi: linux.org.ru
