Rust je višeparadigmatski, kompajlirani programski jezik opšte namjene.
Nova verzija Rusta 1.78 je već objavljena i implementirane su nove funkcije, kao i stabilizacija nekih API-ja, poboljšanja u Cargu i još mnogo toga.
Za one koji nisu svjesni ovog programskog jezika, trebali bi to znati fokusira se na sigurnost memorije i pruža sredstva za postizanje visokog paralelizma poslova uz izbjegavanje upotrebe sakupljača smeća i vremena izvođenja (vrijeme izvođenja je svedeno na osnovnu inicijalizaciju i standardno održavanje biblioteke).
Glavne nove karakteristike Rusta 1.78
U ovoj novoj verziji koju je predstavio Rust 1.78 povećao je svoje minimalne zahtjeve za Windows 10, Pored toga kompajler je promijenjen da koristi LLVM 18. Kada se koristi LLVM 18 za x86-32 i x86-64 arhitekture, ABI pridružen tipovima u128 i i128 je promijenjen.
Što se promjena tiče, jedna od karakteristika koja se ističe je da Rust sada podržava imenski prostor atributa «#[dijagnoza]", šta pruža način da utiče na poruke o greškama koje se proizvode od strane kompajlera. Oni se tretiraju kao nagoveštaji koje kompajler ne mora da koristi, niti je greška pružiti dijagnostiku koju kompajler ne prepoznaje. Ovo dozvoljava izvornom kodu da pruži dijagnostiku čak i kada ih ne podržavaju svi prevodioci, bilo različite verzije ili potpuno različite implementacije.
Takođe, globalni keš je stabiliziran 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, crate fajlu, direktoriju koda, git klonu i git checkoutu, poboljšavajući efikasnost i brzinu operacija upravljanja ovisnostima u razvojnim projektima.
Još jedna nova karakteristika Rusta 1.78 je da Rust standardna biblioteka ima Različite izjave za preduvjete nesigurnih funkcija koji se sada može odgoditi do generiranja koda. To omogućava izvođenje ovih provjera istorijski su bili omogućeni samo u konstrukcijama «#[cfg(debug_assertions)]» kako biste izbjegli utjecaj na performanse u verziji izdanja. Sa ovom promjenom, korisnici sada mogu otkriti nedefinirano ponašanje u svom kodu, iako detalji o tome koliko je provjereno općenito nisu stabilni. Da bi se omogućile provjere, sada je dovoljno omogućiti tvrdnje za otklanjanje grešaka za test ili debug build-ove koda.
Pored toga, sada ponašanje standardnih bibliotečkih funkcija koji utiču na poravnanje pokazivača i sektora sada je predvidljiv u toku rada i zavisi od ulaznih podataka. Funkcija pointer::align_offset, koji izračunava pomak za poravnavanje pokazivača sada se vraća use::MAX samo ako operacija ne uspije. Funkcije slice::align_to i slice::align_to_mut, koji transformiše rezove u reprezentaciju sa poravnatim srednjim presekom i originalnim početnim i krajnjim rezovima, sada uvek vraća najveći srednji deo.
S druge strane, to se spominje Sljedeći API-ji su premješteni u kategoriju „stabilan“.: impl Read for &Stdin, impl From za io::Greška i implementaciju impl koji omogućava upotrebu ?Sized.
Of the Ostale promjene koje se ističu ove nove verzije:
- Drugi nivo podrške za Add wasm32-wasip1 ciljnu platformu je implementiran. Drugi nivo podrške uključuje garanciju za montažu.
- Wasm32-wasi-preview1-threads platforma je preimenovana u wasm32-wasip1-threads.
- U upravitelju paketa Cargo, verzija 4 zaključanih datoteka (lockfile v4) je stabilizirana. Cargo sada koristi ovu verziju kao standard kako bi osigurao dosljednost i efikasno upravljanje ovisnostima u projektima.
Naps zainteresovani da saznaju više o tome, detalje možete provjeriti u sljedeći link.
Konačno, za one koji jesu Zainteresovan za nadogradnju sa prethodne verzije Rusta instaliran putem rustupa, novu verziju Rusta 1.78 možete dobiti sa:
rustup update stable
Ako već nemate instaliran Rust na vašem sistemu, to možete učiniti tako što ćete pokrenuti sljedeću naredbu u terminalu:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh