Rust 1.68 prihaja z izboljšano podporo in še več

rje

Rust je preveden programski jezik, ki podpira čisto funkcionalno, proceduralno, imperativno in objektno usmerjeno programiranje.

Pred kratkim objavljena je bila izdaja nove različice programskega jezika “Rust 1.68”. Za tiste, ki Rusta ne poznate, morate vedeti, da je bil ta programski jezik ustanovljen s projektom Mozilla, zdaj pa se razvija pod okriljem neodvisne neprofitne ustanove Rust Foundation.

Jezike osredotoča na varnost pomnilnika in zagotavlja sredstva za doseganje visoke vzporednosti opravil ob izogibanju uporabi zbiralnika smeti in izvajalnega okolja (izvajalni čas je zmanjšan na osnovno inicializacijo in vzdrževanje standardne knjižnice).

Rustove metode upravljanja pomnilnika rešijo razvijalca pred napakami pri manipulaciji s kazalci in ščitijo pred težavami, ki nastanejo zaradi manipulacije s pomnilnikom na nizki ravni, kot je dostop do območja pomnilnika, potem ko je bil osvobojen, dereferenciranje ničelnih kazalcev, prelivi pomnilnika itd. medpomnilnik itd Za distribucijo knjižnic, zagotavljanje zgradb in upravljanje odvisnosti projekt razvija upravitelja paketov Cargo.

Rust zagotavlja tudi zaščito pred celoštevilskimi prelivi, zahteva obvezno inicializacijo vrednosti spremenljivk pred uporabo, bolje obravnava napake v standardni knjižnici, privzeto uveljavlja koncept nespremenljivih spremenljivk in referenc, ponuja močno statično tipkanje za zmanjšanje logičnih napak.

Glavne nove funkcije Rust 1.68

V tej novi različici, ki prihaja iz Rust 1.68, lahko ugotovimo, da je podpora za protokol Sparse je stabilizirana v upravitelju paketov Cargo in repozitorij crates.io, ki definira nov način dela z indeksom, ki odraža razpoložljive različice vseh obstoječih paketov v repozitoriju.

Nov protokol omogoča znatno povečanje hitrosti dela s crates.io in reševanje težav s skaliranjem z nadaljnjim povečanjem števila paketov v repozitoriju.

Za zmanjšanje zamud, ki so posledica prenosa indeksa poln, Redko, namesto da bi do indeksa dostopali prek Gita, prenesite neposredno prek HTTPS samo indeksne podatke potrebno, ki zajema odvisnosti določenega projekta. Za vrnitev podatkov indeksa je vključena nova storitev index.crates.io.

Privzeto, novi protokol je načrtovan za uporabo v veji Rust 1.70, pred tem pa lahko, da ga omogočite, nastavite spremenljivko okolja "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=redko» ali dodajte parameter 'protokol=sparse' vložiti .cargo/config.toml.

Druga od sprememb, ki izstopa, je tain dodal makro » pin! « da omogoča ustvarjanje strukture Pin<&mut T> iz izraza "T" z lokalnim pripenjanjem njegovega stanja (za razliko od Box::pin ne dodeli pomnilnika na kopici, ampak se poveže na ravni sklada).

Poleg tega lahko najdemo tudi to predlagan je privzeti obravnavalnik napak pri dodelitvi pomnilnika, ki se uporablja pri uporabi standardnega paketa za preslikavo.

Aplikacije, ki omogočajo le alloc (ne std) bo zdaj klical krmilnik "panic!" v primeru napak pri dodelitvi pomnilnika, ki jih lahko po želji prestrežemo z "#[panic_handler]". Programi, ki uporabljajo knjižnico std, bodo še vedno tiskali informacije o napaki v stderr in ne bodo uspeli.

Od ostalih sprememb ki izstopajo:

  • Nov del API-ja je bil premaknjen v stabilen, vključno z metodami in implementacijami lastnosti, ki so bile stabilizirane
  • Atribut "const", ki določa možnost uporabe v kateremkoli kontekstu namesto konstant, je uporabljen v VecDeque::new.
  • Platforma Android zdaj zahteva vsaj NDK r25 (API 19), kar pomeni, da je minimalna podprta različica Androida povišana na 4.4 (KitKat).
  • Implementirana je tretja raven podpore za platformo Sony PlayStation Vita (armv7-sony-vita-newlibeabihf).
  • Tretja raven vključuje osnovno podporo, vendar brez avtomatiziranega testiranja, objavljanja uradnih gradenj in preverjanja zmožnosti prevajanja kode.

Če ste zanima več o tem, podrobnosti lahko preverite v naslednjo povezavo.

Končno za tiste, ki so Zanima me nadgradnja s prejšnje različice Rust nameščen prek rustup, lahko dobite novo različico Rust 1.68.0 z:

rustup update stable


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.