Rust 1.62 Whakaputa Reo Papatono

Ko te tukunga o te reo hootaka kaupapa whanui Rust 1.62, 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:

  • Ka tukuna e te kaiwhakahaere kete "uta" te whakahau "taapiri", ka taea e koe te taapiri i nga whakawhirinakitanga hou ki te whakaaturanga Cargo.toml, ki te whakarereke ranei i nga whakawhirinakitanga o naianei mai i te raina whakahau. Ka taea hoki e te whakahau te tautuhi i nga ahuatanga takitahi me nga putanga, hei tauira: cargo add serde —features derive cargo add nom@5
  • Kua taapirihia te kaha ki te whakamahi i te "#[whakaahua(Taunoa)]" me nga enums e tautuhia ai te whiringa taunoa ma te whakamahi i te huanga "#[taunoa]". #[whakaahua(Taunoa)] enum Pea { #[taunoa] Kahore, He mea(T), }
  • I runga i te papaaho Linux, ka whakamahia he mahinga kiato me te tere ake o te tikanga tukutahi Mutex, i runga i te whakamahinga o nga futexes e whakaratohia ana e te kernel Linux. Kaore i rite ki te whakatinanatanga i whakamahia i mua i runga i te whare pukapuka pthreads, ko te putanga hou e whakamahi ana i te 5 paita hei utu mo te 40 hei penapena i te ahua o Mutex. Waihoki, kua whakawhitia nga tikanga maukati a Condvar me RwLock ki te futex.
  • Ko te taumata tuarua o te tautoko mo te x86_64-unknown-noe target platform kua whakatinanahia, i hangaia hei whakaputa i nga konae ka taea te mahi me te kore he punaha whakahaere. Hei tauira, ka taea te whakamahi i te papaaapapa kua tohua ina tuhi i nga waahanga kernel. Ko te taumata tuarua o te tautoko he taurangi hui.
  • Ko te taumata tuatoru o te tautoko kua whakatinanahia mo nga papaahi aarch64-pc-windows-gnullvm me x86_64-pc-windows-gnullvm. 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.
  • 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:
    • bool:: then_some
    • f32::tapeke_cmp
    • f64::tapeke_cmp
    • Stdin::raina
    • matapihi::CommandExt::raw_arg
    • impl uara taunoa mo AssertUnwindSafe
    • Mai > mo Rc
    • Mai > mo Arc<[u8]>
    • FusedIterator mo EncodeWide

    Source: opennet.ru

Tāpiri i te kōrero