foilsithe scaoileadh teanga ríomhchláraithe an chórais Meirge 1.38, a bhunaigh an tionscadal Mozilla. Díríonn an teanga ar shábháilteacht chuimhne, soláthraíonn bainistíocht cuimhne uathoibríoch, agus cuireann sé bealach ar fáil chun comhthreomhaireacht ard-tasc a bhaint amach gan bailitheoir truflais nó am rite a úsáid.
Déanann bainistíocht cuimhne uathoibríoch Rust an forbróir a shaoradh ó ionramháil pointeora agus cosnaíonn sé i gcoinne fadhbanna a eascraíonn as ionramháil cuimhne ísealleibhéil, amhail rochtain saor ó chuimhne iar-saor in aisce, dereferences pointeoir nialasach, róchaiteachas maoláin, agus a leithéidí. Tá bainisteoir pacáiste á fhorbairt chun leabharlanna a dháileadh, tionól a chinntiú agus spleáchais an tionscadail a bhainistiú. Cargo, rud a ligeann duit na leabharlanna atá ag teastáil don chlár a fháil i gcliceáil amháin. Tacaítear le stór chun leabharlanna a óstáil cliathbhoscaí.io.
Cuireadh modh tiomsaithe píblíne leis (píblíneáilte), ina gcuirtear tús le tógáil pacáiste cliathbhosca cleithiúnach a luaithe a bhíonn na meiteashonraí spleáchais ar fáil, gan fanacht lena dtiomsú a chur i gcrích. Agus pacáiste á thiomsú agat, ní gá duit na spleáchais go léir a bheith curtha le chéile agat; Cuirtear meiteashonraí ar fáil go luath sa phróiseas tiomsaithe, mar sin is féidir pacáistí nasctha a thiomsú i bhfad níos luaithe anois. Nuair a bhíonn pacáistí aonair á dtógáil, ní dhéanann an modh molta difear don fheidhmíocht, ach má chlúdaíonn an tógáil pacáistí le spleáchais brainseach, is féidir an t-am tógála iomlán a laghdú 10-20%;
Cinntíonn sé úsáid mhícheart feidhmeanna a bhrath std::mem::unitialized и std::mem::nialas. Mar shampla, tá std::mem::uninitialized áisiúil chun eagair a chruthú go tapa, ach cuireann sé an tiomsaitheoir amú toisc go ndealraíonn sé go bhfuil sé tosaithe, ach i ndáiríre tá an luach gan bhunús. Tá an mem::feidhm uninitialized marcáilte cheana féin mar fheidhm atá i léig agus moltar cineál idirmheánach a úsáid ina ionad B'fhéidirAonad. Maidir le mem::nialas, féadann an fheidhm seo fadhbanna a chruthú le cineálacha nach bhfuil in ann glacadh le luachanna nialasacha.
Chun cabhrú le hiompar neamhshainithe a aithint, cuireann an scaoileadh nua seiceáil lint leis an tiomsaitheoir a aimsíonn roinnt fadhbanna le mem::uninitialized nó mem::zeroed. Mar shampla, faigheann tú earráid anois agus tú ag iarraidh mem a úsáid::uninitialized or mem::zeroed le cineálacha &T agus Box‹T›, a sheasann do réada pointeora nach bhfuil in ann glacadh le luachanna null;
Leathnaíodh an aitreabúid “#[deprecated]” chun gur féidir pacáistí cliathbhoscaí a mharcáil imithe i léig agus a sceidealú lena scriosadh amach anseo. Amhail meirge 1.38, is féidir an tréith seo a úsáid freisin le haghaidh macraí;
Cuireadh leis an gcumas an tréith “#[global_allocator]” a úsáid i bhfo-mhodúil;
Feidhm curtha leis std::aon::type_name, a ligeann duit ainm an chineáil a fháil amach, is féidir a bheith úsáideach chun críocha debugging. Mar shampla, le linn cur i gcrích an chláir is féidir leat a fháil amach cén cineál ar a dtugtar an fheidhm:
fn gen_value‹T: Réamhshocrú>() -› T {
println!("Ásc de {} a thionscnamh", std::any ::type_name::‹T›());
Réamhshocrú::default()
}
slice:: Is féidir le {concat, connect, join} an luach &[T] a ghlacadh anois chomh maith le &T;
Cuir "*const T" agus "*mut T" i bhfeidhm anois marcáil::Unpin;
Cuireann “Arc‹[T]›” agus “Rc‹[T]›” FromIterator‹T› i bhfeidhm anois;
iter::{Stepby, Peekable, Take} cuir DoubleEndedIterator i bhfeidhm anois.
ascii::Cuireann EscapeDefault Clón agus Taispeáin i bhfeidhm.
Aistríodh cuid nua de APInna chuig an gcatagóir chobhsaí, lena n-áirítear modhanna atá cobhsaithe
‹*const T › ::cast, ‹ *mut T › ::cast,
Fad:: as_secs_f{32|64},
Fad:: div_duration_f{32|64},
Fad:: div_f{32|64},
Fad:: ó_secs_f{32|64},
Fad::mul_f{32|64},
oibríochtaí rannáin leis an gcuid eile
div_euclid agus rem_euclid do gach primitives slánuimhir;
Tacaíocht bhreise chun an rogha “--features” a shonrú go minic chun gnéithe éagsúla a chumasú sa bhainisteoir pacáiste lasta;
Soláthraíonn an tiomsaitheoir an tríú cuid leibhéal tacaíocht d'ardáin sprice aarch64-uwp-windows-msvc, i686-uwp-windows-gnu, i686-uwp-windows-msvc, x86_64-uwp-windows-gnu, x86_64-uwp-windows-msvc spriocanna, armv7-unknown-linux -gnueabi, armv7-anaithnid-linux-musleabi, heicseagán-anaithnid-linux-musl agus riscv32i-anaithnid-none-elf. Tá tacaíocht bhunúsach i gceist leis an tríú leibhéal, ach gan tástáil uathoibrithe agus foilsiú na tógála oifigiúla.