Rust je kompajlirani programski jezik opće namjene s više paradigmi.
Nova verzija Rusta 1.78 već je objavljena i implementirane su nove značajke, kao i stabilizacija nekih API-ja, poboljšanja u Cargu i više.
Za one koji nisu upoznati s ovim programskim jezikom, trebali bi to znati fokusira se na sigurnost memorije i pruža sredstva za postizanje visokog paralelizma poslova uz izbjegavanje korištenja skupljača smeća i vremena izvođenja (vrijeme izvođenja je smanjeno na osnovnu inicijalizaciju i standardno održavanje knjižnice).
Glavne nove značajke Rusta 1.78
U ovoj novoj verziji koju je predstavio Rust 1.78 povećao je minimalne zahtjeve za Windows 10, Osim toga kompajler je promijenjen da koristi LLVM 18. Prilikom korištenja LLVM 18 za x86-32 i x86-64 arhitekture, ABI povezan s tipovima u128 i i128 je promijenjen.
Što se tiče promjena, jedna od karakteristika koja se ističe je da Rust sada podržava imenski prostor atributa «#[dijagnoza]", što pruža način utjecaja na proizvedene poruke o grešci od strane sastavljača. Oni se tretiraju kao savjeti koje kompilator ne mora koristiti, niti je pogreška pružiti dijagnostiku koju prevodilac ne prepoznaje. Ovaj omogućuje izvornom kodu pružanje dijagnostike čak i kada ih ne podržavaju svi prevoditelji, bez obzira radi li se o različitim verzijama ili potpuno različitim implementacijama.
Osim toga, globalna predmemorija je stabilizirana u Cargu koji pohranjuje informacije o najnovijoj upotrebi podataka. Ova predmemorija se nalazi u $CARGO_HOME/.global-cache i koristi SQLite za svoju implementaciju. Automatski se ažurira kako bi odražavao najnovije promjene u indeksu, sanduku, direktoriju koda, git klonu i git provjeri, poboljšavajući učinkovitost i brzinu operacija upravljanja ovisnostima u razvojnim projektima.
Još jedna nova značajka Rust 1.78 je ta da Rust standardna biblioteka ima Razne izjave za preduvjete nesigurnih funkcija koji se sada može odgoditi do generiranja koda. To omogućuje provođenje ovih provjera povijesno su bili omogućeni samo u verzijama «#[cfg(debug_assertions)]» kako biste izbjegli utjecaj na izvedbu u izdanju verzije. Ovom promjenom korisnici sada mogu otkriti nedefinirano ponašanje u svom kodu, iako detalji o tome koliko se provjerava općenito nisu stabilni. Da biste omogućili provjere, sada je dovoljno omogućiti tvrdnje o ispravljanju pogrešaka za testne ili ispravljačke verzije koda.
Uz to, sada ponašanje standardnih knjižničnih funkcija koji utječu na poravnanje pokazivača i sektora sada je predvidljiv u vrijeme izvođenja i ovisi o ulaznim podacima. Funkcija pointer::align_offset, koji izračunava pomak za poravnavanje pokazivača sada se vraća veličina::MAX samo ako operacija ne uspije. Funkcije slice::align_to i slice::align_to_mut, koji pretvaraju kriške u prikaz s poravnatim srednjim rezom i izvornim početnim i završnim rezovima, sada uvijek vraćaju najveći srednji dio.
S druge strane spominje se da Sljedeći API-ji premješteni su u kategoriju "stabilni".: impl Read for &Stdin, impl From za io::Greška i implementacija impl koji omogućuje korištenje ?Veličine.
Od Ostale promjene koje se ističu ove nove verzije:
- Implementirana je druga razina podrške za ciljnu platformu Add wasm32-wasip1. Druga razina podrške uključuje jamstvo za montažu.
- Platforma wasm32-wasi-preview1-threads preimenovana je u wasm32-wasip1-threads.
- U upravitelju paketa Cargo, verzija 4 datoteka zaključavanja (lockfile v4) je stabilizirana. Cargo sada koristi ovu verziju kao standard kako bi osigurao dosljednost i učinkovito upravljanje ovisnostima među projektima.
Naps zainteresirani za saznanje više o tome, pojedinosti možete provjeriti u sljedeći link.
Konačno, za one koji jesu Zanima me nadogradnja s prethodne verzije Rusta instaliran putem rustupa, možete dobiti novu verziju Rust 1.78 sa:
rustup update stable
Ako već nemate instaliran Rust na svom sustavu, možete to učiniti pokretanjem sljedeće naredbe na terminalu:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh