birt útgáfu 1.47 af forritunarmáli kerfisins Ryð, stofnað af Mozilla verkefninu. Tungumálið leggur áherslu á minnisöryggi, veitir sjálfvirka minnisstjórnun og veitir leið til að ná mikilli samsvörun verkefna án þess að nota rusla safnari и afturkreistingur (keyrslutími snýst um grunnuppstillingu og viðhald á venjulegu bókasafni).
Sjálfvirk minnisstjórnun Rust útilokar villur þegar verið er að meðhöndla ábendingar og verndar gegn vandamálum sem stafa af minni meðhöndlun á lágu stigi, eins og aðgangur að minnissvæði eftir að það hefur verið losað, frávísanir á núll bendi, offramkeyrsla á biðminni osfrv. Verið er að þróa pakkastjóra til að dreifa bókasöfnum, tryggja samsetningu og stjórna ósjálfstæði verkefnisins. Hleðsla. Geymsla er studd til að hýsa bókasöfn crates.io.
Innleiddur stuðningur fyrir tegundir fylki hvaða stærð sem er. Áður, vegna vanhæfni til að skilgreina almennar aðgerðir fyrir öll heiltölugildi, veitti staðlaða bókasafnið innbyggðan eiginleikastuðning aðeins fyrir fylki allt að 32 þætti að stærð (eiginleikarnir fyrir hverja stærð voru skilgreindir með kyrrstöðu). Þökk sé því að skapa virkni stöðugra samheitalyfja („const generics“) varð mögulegt að skilgreina almenn föll fyrir hvaða fylkisstærð sem er, en þau eru ekki enn innifalin í stöðugu tungumálaeiginleikum, þó að þau séu útfærð í þýðandanum og eru núna þátt í staðlaða bókasafninu fyrir eiginleika fylkis af hvaða stærð sem er.
Til dæmis mun eftirfarandi smíði í Rust 1.47 prenta innihald fylkis, þó áður hefði það leitt til villu:
fn main() {
láttu xs = [0; 34];
println!("{:?}", xs);
}
Veitt úttak af styttri ummerkjum (til baka), framleiðsla í neyðartilvikum. Hlutir sem eru ekki áhugaverðir í flestum aðstæðum, en rugla útkomuna og draga athyglina frá aðalorsökum vandans, eru útilokaðir frá rekstrinum. Til að skila fullri rakningu geturðu notað umhverfisbreytuna "RUST_BACKTRACE=full". Til dæmis fyrir kóðann
fn main() {
hræðsla!();
}
Áður var rekjan framleidd í 23 þrepum, en nú verður dregið úr því
3 skref sem gera þér kleift að átta þig strax á kjarnanum:
þráður 'aðal' panikkaði við 'skýrt læti', src/main.rs:2:5
stafla bakslag:
0: std::panikk::begin_panic
á /rustc/d…d75a/library/std/src/panicking.rs:497
1: leikvöllur::aðal
á ./src/main.rs:2
2: kjarna::ops::fall::FnOnce::call_once
á /rustc/d…d75a/library/core/src/ops/function.rs:227
Rustc þýðandinn hefur verið uppfærður til að byggja með LLVM 11 (Rust notar LLVM sem bakendi fyrir kóða kynslóð). Á sama tíma er getu til að byggja með eldri LLVM, allt að útgáfu 8, haldið, en sjálfgefið (í rust-lang/llvm-verkefni) er nú að nota LLVM 11. Búist er við að LLVM 11 komi út á næstu dögum.
Á Windows vettvangnum veitir rustc þýðandinn stuðning til að virkja eftirlitsflæðisheilleika (Control Flow Guard), virkjað með „-C control-flow-guard“ fánanum. Á öðrum kerfum er þessi fáni hunsuð í bili.
Nýr hluti API hefur verið fluttur í stöðugan flokk, þar á meðal stöðug
Ident::new_raw,
Svið::er_tómt,
RangeInclusive::is_empty,
Niðurstaða::as_deref,
Niðurstaða::as_deref_mut,
Vec::leka,
bendil::offset_from,
f32::TAU og
f64::TAU.
„const“ eigindin, sem ákvarðar möguleikann á að nota hann í hvaða samhengi sem er í stað fasta, er notaður í aðferðunum:
nýtt fyrir allar heiltölur aðrar en núll;
checked_add, checked_sub, checked_mul, checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub og saturating_mul fyrir allar heiltölur;