Rust 1.67 Whakaputa Reo Papatono

Ko te tukunga o te reo hootaka kaupapa whanui Rust 1.67, 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. Ko te reo e arotahi ana ki te haumaru mahara me te whakarato i nga huarahi ki te whakatutuki i te whakarara nui i roto i nga mahi mahi, me te karo i te whakamahi o te kaikohi paru me te wa mahi (ka whakahekehia te wa whakahaere ki te timatanga me te tiaki i te whare pukapuka paerewa).

Ko nga tikanga whakahaere mahara a Rust ka whakawātea i te kaiwhakawhanake mai i nga hapa raweke o te atatohu me te whakamarumaru mai i nga raru ka puta mai i te raweke mahara taumata-iti, penei i te urunga kore-kore, te kore tohu tohu kore, te paopao, me era atu. Ki te tohatoha whare pukapuka, ki te whakarite i te huihuinga me te whakahaere i nga whakawhirinakitanga, kei te whakawhanake te kaupapa i te kaiwhakahaere kete Uta. Kei te tautokohia te putunga crates.io mo te manaaki whare pukapuka.

Ka whakamanahia te haumaru mahara i roto i te Rust i te wa whakahiato ma te arowhai tohutoro, te whai mana o te taonga, te whakaaro mo te oranga o te ahanoa (scoping), me te arotake urunga mahara i te wa whakahaere. Ko te waikura hoki he whakamarumaru mai i nga puhaketanga integer, me arawhiti nga uara taurangi i mua i te whakamahi, he pai ake te whakahaere hapa i roto i te whare pukapuka paerewa, ka whakamahi taunoa i te kaupapa o nga tohutoro koretake me nga taurangi, me te tuku patopato pateko kaha hei whakaiti i nga hapa arorau.

Nga mahi hou:

  • Mo nga mahi async me Future:: Putanga, ka taea te tohu "#[must_use]" nga korero kei roto he whakatupato mena ka warewarehia te uara whakahoki, ka awhina i te tautuhi i nga hapa i puta mai i te whakaaro ka huri te mahi i nga uara. kaua e whakahoki mai he uara hou. #[me_whakamahi] async fn pae() -> u32 { 0 } async fn kaiwaea() { bar().tatari; } whakatūpato: karekau i whakamahia te putanga o te heke mai ka whakahokia mai e `bar` me whakamahi —> src/lib.rs:5:5 | 5 | pae().taria; | ^^^^^^^^^^^^^ | = tuhipoka: `#[whakatupato(unused_must_use)]` i te taunoa
  • Ko te whakatinanatanga o te FIFO queues std::sync::mpsc (whakaputa-maha kotahi-kaihoko) kua whakahoutia, kua hurihia ki te whakamahi i te waahanga whakawhiti-whakawhiti i te wa e mau tonu ana te API o mua. Ko te whakatinanatanga hou e tohuhia ana ma te whakaoti i te maha o nga raruraru, te mahi teitei ake me te tiaki waehere ngawari.
  • 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:
    • {integer}::checked_ilog
    • {integer}::takina_ilog2
    • {integer}::takina_ilog10
    • {tauoti}::ilog
    • {tauoti}::ilog2
    • {tauoti}::ilog10
    • NonZeroU*::ilog2
    • NonZeroU*::ilog10
    • Korekore*::BITS
  • Ko te huanga "const", e whakatau ana i te kaha ki te whakamahi i roto i tetahi horopaki hei utu mo nga taumau, ka whakamahia i roto i nga mahi:
    • char::mai_u32
    • char::from_digit
    • char::to_digit
    • matua::char::from_u32
    • matua::char::from_digit
  • Ko te taumata tuatoru o te tautoko kua whakatinanahia mo te whakamahi i te Rust i te kernel Linux (linuxkernel), me te Sony PlayStation 1 (mipsel-sony-psx), PowerPC me AIX (powerpc64-ibm-aix), QNX Neutrino RTOS ( aarch64-unknown-nto-) papaapapa qnx710, x86_64-pc-nto-qnx710). Ko te taumata tuatoru ko te tautoko taketake, engari kaore he whakamatautau aunoa, te whakaputa i nga hanganga mana, me te tirotiro mena ka taea te hanga te waehere.

I tua atu, ka taea e tatou te tuhi i te whakaputanga na te ARM o nga papanga e taea ai te whakamahi i te reo Rust ki te whakawhanake i nga taraiwa me nga waahanga kernel Linux kua huihuia mo nga punaha i runga i te hoahoanga AArch64.

Source: opennet.ru

Tāpiri i te kōrero