Objavljeno izdanje sistemskog programskog jezika Rđa 1.43, osnovan projektom Mozilla. Jezik se fokusira na sigurnost memorije, omogućuje automatsko upravljanje memorijom i pruža alate za postizanje visokog paralelizma zadataka bez korištenja skupljača smeća i runtime.
Rustovo automatsko upravljanje memorijom oslobađa programera od manipulacije pokazivačima i štiti od problema koji proizlaze iz manipulacije memorijom niske razine, kao što su pristupi memoriji nakon oslobađanja, dereferencije nultog pokazivača, prekoračenja međuspremnika i slično. Upravitelj paketa se razvija za distribuciju biblioteka, osiguranje sklapanja i upravljanje ovisnostima projekta. Naboj, što vam omogućuje da jednim klikom dobijete biblioteke potrebne za program. Repozitorij je podržan za host knjižnica sanduci.io.
Makronaredbe daju mogućnost korištenja fragmenata elemenata za njihovo pretvaranje u kod za značajke (trait), implementacije (impl) ili vanjske blokove. Na primjer:
makro_pravila! mac_trait {
($i:stavka) => {
osobina T { $i }
}
}
mac_trait! {
fn foo() {}
}
Dovest će do generacije:
osobina T {
fn foo() {}
}
Poboljšano otkrivanje tipa primitiva, referenci i binarnih operacija.
Na primjer, sljedeći kod, koji je prethodno uzrokovao pogrešku, sada će se moći kompajlirati (Rust sada ispravno utvrđuje da 0.0 i &0.0 moraju biti tipa f32):
neka je n: f32 = 0.0 + &0.0;
Nova varijabla okruženja CARGO_BIN_EXE_{name} dodana je u Cargo, koja se postavlja prilikom izrade integracijskih testova i omogućuje vam određivanje pune staze do izvršne datoteke definirane u odjeljku paketa “[[bin]]”.
Ako je izjavama dopušteno koristiti atribute kao što je "#[cfg()]".
Knjižnica pruža mogućnost izravnog korištenja povezanih konstanti za cjelobrojne i frakcijske tipove, bez uvoza modula. Na primjer, možete odmah napisati u32::MAX ili f32::NAN bez prethodnog navođenja "use std::u32" i "use std::f32".
Dodan je novi modul primitivan, koji ponovno izvozi Rust primitivne tipove, na primjer kada trebate napisati makro i osigurati da tipovi nisu skriveni.
Novi dio API-ja prebačen je u stabilnu kategoriju, uključujući stabilizirane
Once::is_completed,
f32::LOG10_2,
f32::LOG2_10,
f64::LOG10_2,
f64::LOG2_10 i
iter::once_with.