Kua tukuna te waikura 1.78. Ko te reo Borgo e whakakotahi ana i nga kaha o Go me Rust

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

  • He mokowā ingoa huanga hou "#[diagnostic]" kua tohua, he huarahi ki te whakaawe i nga karere hapa i mahia e te kaitoi. Ko te tuatahi i roto i te waahi hou ko te huanga "#[diagnostic::on_unimplemented]", ka taea te whakamahi ki te whakarite i nga karere hapa ka tukuna i roto i tetahi ahuatanga e hiahia ana koe ki te whakamahi i tetahi ahuatanga kaore i whakatinanahia mo te momo. #[diagnostic::on_unimplemented( message = "Ko taku Karere mo `ImportantTrait<{A}>` kaore i te whakatinanahia mo `{Self}`", tapanga = "Toku Tapanga", tuhipoka = "Tuhipoka 1", tuhipoka = "Tuhipoka 2" )] huru ImportantTrait {} fn use_my_trait(_: impl ImportantTrait ) {} fn matua() { use_my_trait(String::new()); } hapa [E32]: Taku Karere mo `ImportantTrait ` kaore i te whakatinanahia mo `String` —> src/main.rs:0277:32 | 12 | use_my_trait(String::new()); | ———— ^^^^^^^^^^^^^ Taku Tapanga | | | e hiahiatia ana e tetahi here i whakauruhia e tenei waea | = awhina: the trait `ImportantTrait ` kaore i whakatinanahia mo `String` = tuhipoka: Note 18 = tuhipoka: Note 12
  • Ka taea te whakaroa i nga arowhai i mua i te whakapumautanga ki nga mahi haumaru kia tae ra ano ki te hanga waehere, ka taea enei arowhai me te kore e hanga i te whare pukapuka paerewa ki te aratau "#[cfg(debug_assertions)]". Hei whakaoho i nga arowhai, kua ranea inaianei hei whakaahei i nga whakapae patuiro mo te whakamatautau me te hanga patuiro o to waehere.
  • Ko te whanonga o nga mahi i roto i te whare pukapuka paerewa e pa ana ki te tirohanga o nga atatohu me nga poro ka taea te matapae i te wa whakahaere me te whakawhirinaki ki nga raraunga whakauru. Ko te atatohu mahi::align_offset, e tatau ana i te taapiri hei whakatiaro i te atatohu, ka hoki mai te whakamahi::MAX mena ka rahua te mahi. Ko nga mahi ka tapahia::align_to me te tapatapahi::align_to_mut e rua, e huri ana i nga poro hei tohu me te poro i waenganui me te poro tuatahi me te poro mutunga, inaianei ka whakahoki tonu i te waahanga nui rawa atu.
  • Ko enei e whai ake nei i whakawhitia ki te waahanga pumau:
    • impl Panui mo &Stdin
    • Whakaaetia te whakamahi i te oranga kore-pateko (kore-pateko) mo etahi std::error::Hapa-whakamahinga.
    • Te whakatinana impl whakaaetia ki te whakamahi i te uara ?Rahi.
    • impl Mai mo io::Hapa
  • Ko te mahi Arai::new() kua whakapumau kia whakamahia me te huanga "const" i roto i tetahi horopaki hei utu mo nga taumau.
  • Mo nga papaapapa whainga x86_64-pc-windows-msvc, i686-pc-windows-msvc, x86_64-pc-windows-gnu, i686-pc-windows-gnu, x86_64-pc-windows-gnullvm me i686-pc-windows-gnu inaianei me iti rawa Windows 10 putanga.
  • Kua whakatinanahia te taumata tuatoru mo te wasm32-wasip2, arm64ec-pc-windows-msvc, armv8r-none-eabihf me loongarch64-unknown-linux-musl. 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 whakatinanahia te taumata tuarua o te tautoko mo te kaupapa Tāpiri wasm32-wasip1. Ko te taumata tuarua o te tautoko he taurangi hui.
  • Kua whakaingoatia nga miro wasm32-wasi-preview1-miro ki nga miro wasm32-wasip1.
  • Kua hurihia te kaitoi ki te whakamahi i te LLVM 18. I te wa e whakamahi ana i te LLVM 18 mo te x86-32 me te x86-64 hoahoanga, kua whakarereketia te ABI e hono ana ki nga momo u128 me i128.
  • I roto i te Kaiwhakahaere Pact Cargo, kua whakapumautia te putanga 4 o nga konae raka (rakao konae v4).
  • Kei a Cargo he keteroki o te ao me nga korero mo te whakamahinga raraunga hou. Ka whakahaerehia te keteroki ki te $CARGO_HOME/.global-cache ma te whakamahi i te SQLite, ka whakahoutia aunoatia hei whakaata i nga huringa hou ki te taurangi, te konae pouaka, te raarangi tohu, te git clone, me te git checkout.

I tua atu, ko te reo hootaka Borgo e ngana ana ki te whakaatu ake i te reo Haere, engari he iti ake te uaua i te reo Rust. Ka whakakotahihia e Borgo nga ahuatanga pai o Go me Rust, hei whakaea i nga ngoikoretanga o ia reo. Hei tauira, he maamaa, he ngawari hoki a Go, engari kaore i te whakarato i nga momo momo momo haumaru. Ko te reo Rust e whakarato ana i nga taputapu mo te whakamaoritanga haumaru, engari he tino uaua. Ko te kaupapa kei te whakawhanakehia e Marco Sampellegrini, te kaituhi o The Simple Haskell Handbook me te kaiwhakawhanake i te punaha whakauru tonu Quad CI.

Kua tukuna te waikura 1.78. Ko te reo Borgo e whakakotahi ana i nga kaha o Go me Rust

Ka whakamahi a Borgo i te patopato pateko, nga momo Haere-rite, me te wetereo rite ki te Waikura. Ko nga tohu tohu i te mutunga o nga rarangi i te waehere Borgo. Ka whakahiatohia te waehere Borgo ki roto i te whakaaturanga Go e tino hototahi ana ki nga kohinga Go o naianei. Ko te waehere whakahiato kua tuhia ki Rust ka tohatohahia i raro i te raihana ISC. whakamahia fmt enum NetworkState { Uta, Rahua(int), Angitu(T), } struct Whakautu { title: string, roa: int, } fn matua() { let res = Whakautu { title: “Kia ora te ao”, te roanga: 0, } let state = NetworkState.Success(res) let msg = match state { NetworkState.Loading => "kei te uta tonu", NetworkState.Failed(code) => fmt.Sprintf("Kua whiwhi waehere hapa: %d", waehere), NetworkState.Success (res) => res.title, } fmt.Println(msg) }

Source: opennet.ru

Tāpiri i te kōrero