Rust yra kelių paradigmų, bendros paskirties, kompiliuota programavimo kalba.
Nauja Rust 1.78 versija jau buvo išleista ir įdiegtos naujos funkcijos, taip pat kai kurių API stabilizavimas, Cargo patobulinimai ir kt.
Tie, kurie nežino šios programavimo kalbos, turėtų tai žinoti dėmesys skiriamas atminties saugumui ir suteikia galimybę pasiekti aukštą lygiagretumą užduočių, vengiant naudoti šiukšlių rinktuvą ir vykdymo laiką (vykdymo laikas sumažinamas iki pagrindinės inicijavimo ir standartinės bibliotekos priežiūros).
Pagrindinės naujos Rust 1.78 funkcijos
Šioje naujoje versijoje, kurią pristatė „Rust 1.78“ padidino minimalų „Windows 10“ reikalavimą, Neskaitant to Kompiliatorius buvo pakeistas į LLVM 18. Naudojant LLVM 18 x86-32 ir x86-64 architektūroms, buvo pakeistas ABI, susietas su u128 ir i128 tipais.
Kalbant apie pokyčius, viena iš išskirtinių savybių yra ta rūdys dabar palaiko atributo vardų erdvę «#[diagnozė]", ką suteikia galimybę paveikti pateikiamus klaidų pranešimus pagal kompiliatorių. Tai traktuojami kaip užuominos, kurių kompiliatorius neprivalo naudoti, taip pat nėra klaida pateikiant diagnostikos duomenis, kurių kompiliatorius neatpažįsta. Tai leidžia šaltinio kodui teikti diagnostiką, net jei jos nepalaiko visi kompiliatoriai, ar skirtingos versijos, ar visiškai skirtingi įgyvendinimai.
Be to, „Cargo“ stabilizavosi pasaulinė talpykla kuriame saugoma informacija apie naujausią duomenų naudojimą. Ši talpykla yra $CARGO_HOME/.global-cache ir jo įgyvendinimui naudoja SQLite. Jis automatiškai atnaujinamas, kad atspindėtų naujausius indekso, dėžės, kodo katalogo, git klono ir git patikros pakeitimus, pagerinant kūrimo projektų priklausomybės valdymo operacijų efektyvumą ir greitį.
Dar viena nauja Rust 1.78 savybė yra ta, kad ją turi standartinė Rust biblioteka Įvairūs teiginiai apie nesaugių funkcijų prielaidas kurią dabar galima atidėti iki kodo generavimo. Tai leidžia atlikti šiuos patikrinimus istoriškai jie buvo įjungti tik versijose «#[cfg(debug_assertions)]» kad nepakenktų leidimo versijos veikimui. Atlikę šį pakeitimą, vartotojai dabar gali aptikti neapibrėžtą savo kodo elgesį, nors informacija apie tai, kiek patikrinta, paprastai nėra stabili. Norint įgalinti patikras, dabar pakanka įjungti kodo bandomųjų arba derinimo versijų derinimo tvirtinimus.
Be to, dabar standartinių bibliotekos funkcijų elgesys kurie turi įtakos rodyklių ir sektorių lygiavimui dabar jis yra nuspėjamas vykdymo metu ir priklauso nuo įvesties duomenų. Funkcija rodyklė::align_offset, kuris apskaičiuoja poslinkį, kad sulygiuotų žymeklį, dabar grįžta naudoti::MAX tik jei operacija nepavyksta. Funkcijos slice::align_to ir slice::align_to_mut, kurios paverčia skilteles į atvaizdą su išlygiuotu viduriniu pjūviu ir pradine pradžios bei pabaigos skilteles, dabar visada grąžina didžiausią vidurinę dalį.
Kita vertus, minima, kad Šios API buvo perkeltos į „stabilios“ kategoriją: impl Skaityti &Stdin, impl Nuo io::Error ir įgyvendinimas impl kuri leidžia naudoti ?Dydžio.
iš Kiti pokyčiai, kurie išsiskiria šios naujos versijos:
- Įdiegtas antrasis Add wasm32-wasip1 tikslinės platformos palaikymo lygis. Antrasis paramos lygis apima surinkimo garantiją.
- „Wasm32-wasi-preview1-threads“ platforma buvo pervadinta į wasm32-wasip1-threads.
- „Cargo“ paketų tvarkyklėje buvo stabilizuota 4 užrakto failų versija (lockfile v4). „Cargo“ dabar naudoja šią versiją kaip standartą, kad užtikrintų nuoseklumą ir efektyvų priklausomybių valdymą visuose projektuose.
Kakleliai nori sužinoti daugiau apie tai, išsamią informaciją galite sužinoti šią nuorodą.
Galiausiai, tiems, kurie yra Norite atnaujinti ankstesnę Rust versiją įdiegta per rustup, galite gauti naują Rust 1.78 versiją su:
rustup update stable
Jei savo sistemoje dar neįdiegėte Rust, galite tai padaryti terminale vykdydami šią komandą:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh