foillsichte sgaoileadh 1.47 de chànan prògramadh an t-siostaim meirgeadh, a stèidhich am pròiseact Mozilla. Tha an cànan ag amas air sàbhailteachd cuimhne, a’ toirt seachad riaghladh cuimhne fèin-ghluasadach, agus a’ toirt seachad dòigh air co-shìnteachd àrd-obrach a choileanadh gun a bhith a’ cleachdadh neach-cruinneachaidh sgudail и ùine ruith (tha ùine ruith a’ dol sìos gu tòiseachadh bunaiteach agus cumail suas an leabharlainn àbhaisteach).
Bidh riaghladh cuimhne fèin-ghluasadach Rust a’ cuir às do mhearachdan nuair a thathar a’ làimhseachadh chomharran agus a’ dìon an aghaidh dhuilgheadasan ag èirigh bho làimhseachadh cuimhne aig ìre ìosal, leithid faighinn gu sgìre cuimhne às deidh dha a bhith air a shaoradh, ro-aithrisean puing null, cus bufair, msaa. Thathas a’ leasachadh manaidsear pacaid gus leabharlannan a sgaoileadh, dèanamh cinnteach à co-chruinneachadh agus riaghladh eisimeileachd leis a’ phròiseact. Cargo. Tha stòr a’ faighinn taic gus aoigheachd a thoirt do leabharlannan cliathaichean.io.
Taic air a chuir an gnìomh airson seòrsaichean arain meud neo-riaghailteach. Roimhe sin, air sgàth neo-chomas gnìomhan coitcheann a mhìneachadh airson a h-uile luach iomlan, thug an leabharlann àbhaisteach seachad taic caractar togte a-mhàin airson arrays suas gu 32 eileamaid ann am meud (bha na feartan airson gach meud air am mìneachadh gu statach). Mar thoradh air a bhith a’ cruthachadh comas-gnìomh gnèitheachas seasmhach (“const generics”), bha e comasach gnìomhan coitcheann a mhìneachadh airson meud raon sam bith, ach chan eil iad fhathast air an toirt a-steach do na feartan cànain seasmhach, ged a tha iad air an cur an gnìomh anns an inneal-cruinneachaidh agus tha iad nis an sàs anns an leabharlann àbhaisteach airson feartan sreath de mheud sam bith.
Mar eisimpleir, clò-bhuailidh an togail a leanas ann an Rust 1.47 susbaint sreath, ged a bhiodh e air mearachd adhbhrachadh roimhe seo:
fn prìomh() {
leig xs = [0; 34];
println!("{:?}", xs);
}
Cho fad ‘s a bheirear a-mach lorgan nas giorra (backtrace), toradh ann an suidheachaidhean èiginneach. Tha eileamaidean nach eil inntinneach anns a 'mhòr-chuid de shuidheachaidhean, ach a tha a' cur dragh air an toradh agus a 'tarraing aire bho phrìomh adhbharan na trioblaid, air an dùnadh a-mach às an lorg. Airson lorg slàn a thilleadh, 's urrainn dhut caochladair na h-àrainneachd "RUST_BACKTRACE=làn" a chleachdadh. Mar eisimpleir, airson a 'chòd
fn prìomh() {
maoim!();
}
Roimhe sin, chaidh an lorg a thoirt a-mach ann an 23 ìrean, ach a-nis thèid a lughdachadh gu
3 ceumannan a leigeas leat tuigse fhaighinn air an fhìrinn sa bhad:
Chaidh an compiler rustc ùrachadh gus a chleachdadh le bhith a’ cleachdadh LLVM 11 (Meirge cleachdaidhean LLVM mar chùl-raon airson ginealach còd). Aig an aon àm, tha an comas togail le LLVMn nas sine, suas ri dreach 8, air a ghleidheadh, ach gu bunaiteach (ann an meirge-lang/llvm-proiseact) a-nis a’ cleachdadh LLVM 11. Thathas an dùil gun tèid LLVM 11 a leigeil ma sgaoil anns na làithean a tha romhainn.
Air àrd-ùrlar Windows, tha an compiler rustc a’ toirt seachad taic airson a bhith a’ comasachadh sgrùdaidhean ionracas sruthadh smachd (Control Flow Guard), air a chuir an gnìomh a’ cleachdadh a’ bhratach “-C control-flow-guard”. Air àrd-ùrlaran eile thathas a’ seachnadh a’ bhratach seo airson a-nis.
Chaidh cuibhreann ùr de APIan a ghluasad chun roinn stàbaill, a’ toirt a-steach seasmhach
Aithne :: new_raw,
Raon:: tha_ falamh,
RangeInclusive :: tha_ falamh,
Toradh :: as_deref,
Toradh :: as_deref_mut,
Vc::leac,
puing :: offset_from,
f32::TAU agus
f64::TAU.
Tha am feart “const”, a tha a’ dearbhadh comasachd a chleachdadh ann an co-theacsa sam bith an àite seasmhach, air a chleachdadh anns na dòighean:
ùr airson a h-uile h-iomlan ach a-mhàin neoni;
checked_add, checked_sub, checked_mul, checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub agus saturating_mul airson a h-uile iomlan;
is_ascii_alphabetic, is_ascii_uppercase, is_ascii_lowercase, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace agus is_ascii_control airson seòrsaichean char agus u8.
Airson FreeBSD an sàs inneal bho FreeBSD 11.4 (chan eil FreeBSD 10 a’ toirt taic do LLVM 11).