Ko te tukunga o te reo hootaka punaha Rust 1.57, i hangaia e te kaupapa Mozilla, engari kua whakawhanakehia inaianei i raro i te maru o te whakahaere kore-painga motuhake Rust Foundation, kua whakaputaina. Ka aro te reo ki te haumaru mahara, ka whakarato i te whakahaere mahara aunoa, me te whakarato i nga huarahi ki te whakatutuki i te whakarara mahi teitei me te kore e whakamahi i te kaikohi paru, i te wa whakahaere ranei (ka whakaitihia te wa whakahaere ki te arataki me te tiaki i te whare pukapuka paerewa).
Ko te whakahaere mahara aunoa a Rust ka whakaora i te kaiwhakawhanake mai i nga hapa i te wa e raweke ana i nga tohu tohu me te whakamarumaru mai i nga raru ka puta mai na te raweke mahara taumata-iti, penei i te urunga ki tetahi waahi mahara i muri i te wetewetetanga, te whakakore i nga tohu tohu kore, te paopao, me era atu. Hei tohatoha whare pukapuka, whakarato hanga me te whakahaere i nga whakawhirinakitanga, ka whakawhanakehia e te kaupapa te kaiwhakahaere kete Uta. Kei te tautokohia te putunga crates.io mo te manaaki whare pukapuka.
Nga mahi hou:
- Kua whakapūmautia te whakamahinga o te makaro "panic!" i roto i ngā horopaki wā-whakakotahi, pērā i ngā whakapuakitanga "const fn". Hei tāpiritanga, hei tāpiritanga ki te whakamahinga o te "panic!" i roto i ngā whakapuakitanga const, kua whakaaetia inaianei te whakamahinga o te makaro "assert!" me ētahi atu API whare pukapuka paerewa. Kāore anō kia kapi te whakapūmautanga i te hanganga hōputu katoa, nō reira i tōna āhua o nāianei, ka taea anake te whakamahi i te makaro "panic!" me ngā aho tūmau (panic!("...")) me te uara "&str" kotahi kua whakaurua hei whakakapinga (panic!("{}", a)), me whakawhāiti ki te whakakapinga "{}" me te kore he tohu hōputu, he āhuatanga kē atu rānei. Ka whakawhānuihia te whakamahinga o ngā makaro i roto i ngā horopaki tūmau ā muri ake nei, engari kua rawaka kē ngā āheinga whakapūmau mō te mahi tirotiro whakaū i te wā whakahiato: const _: () = assert!(std::mem::size_of:: () == 8); const _: () = whakaū!(std::mem::size_of:: () == 1);
- Ka taea e te kaiwhakahaere mōkihi Cargo te whakamahi i ngā kōtaha me ngā ingoa tauwhāiti, kāore i te herea ki te "dev," "release," "test," me te "bench." Hei tauira, hei whakahohe i te arotautanga wā-hononga (LTO) i te wā e whakaputa ana i ngā hanganga hua whakamutunga anake, ka taea e koe te waihanga i tētahi kōtaha "production" i roto i te Cargo.toml me te tāpiri i te haki "lto = true" ki reira. I te wā e tautuhi ana i ō ake kōtaha, me tohu e koe tētahi kōtaha o nāianei hei tuku i ngā tautuhinga taunoa. Ka hangaia e te tauira i raro nei he kōtaha "production" e tautoko ana i te kōtaha "release" mā te whakauru i te haki "lto = true". Ka whakahohehia te kōtaha tonu ina karangahia a cargo me te kōwhiringa "--profile production", ā, ka whakanohoia ngā taonga hanga ki roto i te whaiaronga "target/production". [profile.production] inherits = "release" lto = true
- Kua whakapūmautia te whakamahinga o te try_reserve mō ngā momo Vec, String, HashMap, HashSet, me VecDeque, e āhei ai te rāhui i te wāhi i mua mō tētahi maha o ngā huānga o tētahi momo kua whakaritea hei whakaiti i te auau o ngā mahi tohatoha mahara, me te karo hoki i ngā tukinga i te wā e whakamahia ana nā te kore e ranea te mahara.
- Kua whakaaetia ngā makaro me ngā whītiki miro i roto i ngā kīanga pēnei i te "m!{ .. }.method()" me te "m!{ .. }?".
- Kua arotauhia te whakahaerenga o ngā mahi File::read_to_end me read_to_string.
- Ko te tautoko mo te tohu Unicode kua whakahoutia ki te putanga 14.0.
- Kua whakawhānuihia te maha o ngā mahi kua tohua ki te "#[must_use]" hei tuku whakatūpato ina kore e arohia te uara whakahoki, ā, he āwhina tēnei ki te tautuhi i ngā hapa i puta mai i te whakaaro ka whakarerekē te mahi i ngā uara, kaua ki te whakahoki i tētahi uara hou.
- Kua tāpirihia te papamuri whakamātautau mō te whakaputa waehere mā te whakamahi i te libgccjit.
- Kua nekehia tetahi waahanga hou o te API ki te waahanga pumau, tae atu ki nga tikanga me nga whakatinanatanga o nga ahuatanga kua whakapumautia:
- [T; N]::as_mut_slice
- [T; N]::as_slice
- kohinga::Whakamātauria teRahuiHapa
- MahereHash::whakamātautau_rāhui
- HuingaHash::whakamātautau_rāhui
- Aho::tātari_rāhui
- Aho::whakamātautau_rāhui_tika
- Vec::try_reserve
- Vec::try_reserve_exact
- VecDeque::try_reserve
- VecDeque::whakamātautau_rāhui_tika
- Kaiwhakarite::map_while
- iter::MapWhile
- proc_macro::kei te wātea
- Whakahau::tiki_hōtaka
- Whakahau::tiki_args
- Whakahau::tiki_envs
- Whakahau::tiki_o_nāianei_dir
- Ngā Āhuatanga Whakahau
- Ngā Whakahau
- Ko te haki "const", e whakatau ana i te āheinga o te whakamahi i roto i tētahi horopaki hei utu mō ngā pūmau, ka whakamahia i roto i te mahi hint::unreachable_unchecked.
- Kua whakatinanahia te tautoko Taumata 3 mō ngā tūāpapa armv6k-nintendo-3ds, armv7-unknown-linux-uclibceabihf, m68k-unknown-linux-gnu, aarch64-kmc-solid_asp3, armv7a-kmc-solid_asp3-eabi, me armv7a-kmc-solid_asp3-eabihf. Ka whakarato te Taumata 3 i te tautoko taketake, engari kāore he whakamātautau aunoa, he hanganga whaimana, he manatoko hanganga rānei.
Source: opennet.ru
