whakaputaina te tuku reo hootaka punaha Rust 1.44, i hangaia e te kaupapa Mozilla. Ka arotahi te reo ki te haumaru mahara, ka whakarato i te whakahaere mahara aunoa, ka whakarato taputapu mo te whakatutuki i te whakarara mahi teitei me te kore e whakamahi i te kaikohi paru me te waahi.
Ko te whakahaere mahara aunoa a Rust ka whakakore i nga hapa i te wa e raweke ana i nga tohutohu me te whakamarumaru i nga raru ka puta mai i te raweke mahara taumata-iti, penei i te urunga ki tetahi rohe mahara i muri i te wa e wetekina ana, nga tohu tohu kore, te paheketanga o te putunga, aha atu. Kei te whakawhanakehia he kaiwhakahaere mokihi hei tohatoha whare pukapuka, hei whakarite i te huihuinga me te whakahaere i nga whakawhirinakitanga a te kaupapa. utanga, ka taea e koe te tiki i nga whare pukapuka e hiahiatia ana mo te kaupapa i te paato kotahi. Ka tautokohia he putunga hei manaaki i nga whare pukapuka crates.io.
I roto i te tuhinga o te panuitanga o te tukunga hou, i uru atu nga kaiwhakawhanake Rust ki nga mahi torangapu me te tino whakahē ki te whakaputa i te katoa o te arotake o nga huringa i roto i te Rust 1.44 hei tohu mo te kotahitanga ki te hunga mautohe ki te tutu pirihimana, e tohu ana he mea nui ake tenei take. atu i te whakawhiti matauranga hangarau. Taketake nga mahi auaha:
Ka whakauruhia e te kaiwhakahaere kete Uta te whakahau "rakau utanga", e whakaatu ana i te kauwhata ti'aturi rite-rakau. Ka taapirihia ano te kowhiringa "—ruarua" ("rakau uta -d"), ka taea e koe te arotake i nga whakawhirinakitanga i roto i nga momo momo rereke o te kete kotahi.
Mo nga tono kaore i herea ki te std ("#![no_std]"), ka whakatinanahia te tautoko mo nga tikanga whakamaoritanga tukutahi i runga i te mahi "async", te async move { ... } poraka me te ".await" operator, e whakangwarihia te tuhi i nga kaikawe kore aukati i te rerenga whakahau matua.
Kua taapirihia te tautoko mo tetahi kaupapa whakamaaramatanga aroākapa whakaroa ki te parser. Hei tauira, ko te hanga e whai ake nei e kore e puta he hapa, ahakoa te kore o te waahanga "foo/bar/baz.rs" (kei te muhu tonu te ahua o te hanga, ka puta he hapa, engari ka kitea nga huringa me te poroporoaki i te te taumata whakahiato tonotono me te herenga):
#[cfg(HAKA)] mod foo {
pae mod {
mod baz;
}
}
Kua taapirihia e te kaitoha rustc te kaha ki te whakamahi i te haki "-C codegen-units" i roto i te aratau taapiri. Ko te whakatinanatanga o te catch_unwind kua mahi ano kia kore ai e pa ki te mahi mena ka monoa te tukanga weriweri, karekau he akiritanga ka maka.
Kua whakaratohia te tautoko Taumata 64 mo te aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos me te x64_XNUMX-apple-tvos. Ko te taumata tuatoru ko te tautoko taketake, engari kaore he whakamatautau aunoa me te whakaputanga o nga hanga mana.
He waahanga hou o nga API kua whakawhitia ki te waahanga pumau, tae atu ki te whakapumau
PathBuf:: with_capacity,
PathBuf::kaha,
PathBuf::mārama,
PathBuf::rahui,
PathBuf::rahui_tika,
PathBuf::tiki_kia_tika,
{f32|f64}::to_int_unchecked,
Tahora::align_to,
Tahora::pad_to_align,
Tahora::array and
Tahora::whakaroa.
Nga mahi roa o te whare pukapuka paerewa:
I taapirihia he momo rereke "vec![]" e whakaatu tika ana i roto i te Vec::new(), ka taea te whakamahi "vec![]" ki te horopaki, kaua ki nga taumau.
Kua taapirihia he whakatinanatanga (impl) o te ahuatanga ki te tahuri::Infallible Hash.
Ka whakatinanahia e OsString nga tohu tohu atamai DerefMut и TaurangiMut, ka hoki mai "&mut OsStr".
proc_macro::Ka whakatinanahia e LexError fmt::Whakaatu me te Hapa.
Ko te huanga “const”, e whakatau ana ka taea te whakamahi i roto i tetahi horopaki hei utu i nga taumau, ka whakamahia i roto i nga tikanga mai i_le_paita, ki_le_paita, mai_be_paita, ki_be_paita, mai_ne_paita me ki_ne_paita mo nga momo tauoti katoa.
He tautoko taapiri mo te whakaputa whare pukapuka pateko ki te whakatakotoranga ".a" hei utu mo te ".lib" mo nga papaaho GNU i Windows.
Ko nga whakaritenga iti mo te LLVM kua hiki ki te LLVM putanga 8.