Rust 1.51 Whakaputa Reo Papatono

Ko te tukunga o te reo hootaka punaha Rust 1.51, 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:

  • Ko nga mahi e pa ana ki te whakamahi i nga momo momo tuuturu kua whiwhi i te mana o te hua iti rawa (MVP), ka hoatu te rama matomato mo te whakamahi whanui. Const generics tukua momo ki te whänui ki te uara tamau, i.e. te whakamahi i nga tohenga whanui kua whakawhäitihia ki te awhe o nga uara tuturu, kaua nga momo me nga wa roa. Ma tenei ahuatanga ka taea e koe te whakamahi i nga momo tawhā-taapiri me te tangohanga ina hanga ana i nga ahuatanga mo nga huānga ahakoa te rahi me te kore e hanga he momo motuhake mo ia awhe o nga uara whaimana kia kore ai e puta mai i waho o te rohe.

    Ka timata mai i te tukunga o naianei, mo nga huinga me te momo “[T; N]" (momo T me te rahi N) e whakarato ana i te kaha ki te tango momo me te rahi ma te whakamahi i nga uara me nga momo tauoti, boolean me nga momo ahua (kaore ano i te tautokohia nga momo hanganga me te enum). Ka tino whakangwarihia te whanaketanga o te whare pukapuka; hei tauira, ki te whakamahi i te huranga kaore e herea ki tetahi momo me te rahi, ka taea e koe te tohu: struct Array { // ^^^^^^^^^^^^^^^^^^^ whakamāramatanga o te rārangi whānui tonu: [T; LENGTH] // ^^^^^^ tona whakamahinga }

    Ina whakamahia me tenei whakamaramatanga o "Array » ka hangaia e te kaikohi he putanga monomorphic o Array: struct Array { rārangi: [u8; 32] }

  • Ko te std::array::IntoIter API, i runga i nga momo whakapapa tonu, kua whakapumau, ka taea e koe te hanga iterator ma te uara mo tetahi huinga: fn main() { let array = [1, 2, 3, 4, 5] ; // I mua, ki te huri i tetahi uara, me waea koe ki te tikanga .iter() mo te mea kei array.iter().copied() { println!("{}", item); } // Inaianei ka taea e koe te tohu mo te mea kei roto i te std::array::IntoIter::new(array) { println!("{}", item); }}
  • Inaianei kei te tautoko te kaiwhakahaere o te kete utanga i tetahi mara kaiwhakatikatika hou i Cargo.toml, ka taea te whakamahi kia taea ai te putanga tuarua o te whakatauira ahuatanga. Ko te putanga hou o te kaiwhakaahua ka karo i te whakakotahi i nga ahuatanga whakawhirinaki kua whakarārangihia ki te waahanga "[aahua]" ki te kore e tika, hei tauira, ina whakaurua he whakawhirinakitanga e tono ana i etahi ahuatanga paerewa i roto i te hanga tuhinga me nga tonotono, engari ina whakamahi i tetahi ahuatanga kore-paerewa. i roto i te konae ka taea te whakahaere.

    Tae noa ki tenei wa, i whakakotahihia nga kaha o te kete i whakahuahia i nga wa maha i roto i te kauwhata whakawhirinaki. Hei tauira, mena kei roto i tetahi kaupapa he foo whakawhirinaki e tautuhi ana i nga kaha A me B, a ka whakamahia tenei kete ki etahi atu paera me te baz, ahakoa ka whakawhirinaki te pae ki te foo me te ahuatanga A, ka whakawhirinaki te baz ki te foo me te ahua B, ka ko te hua ka whakakotahihia e te utanga enei ahuatanga me te whakahiato i te foo me nga ahuatanga A me B kei roto. Hei tauira, ina hiahia koe ki te whakamahi i te putanga o te foo me te "#![no_std]" i roto i te mahi i hangaia me te "#![no_std]", me te wa ano whakamahia te foo me te "std" i te wa e hanga ana. rs. I te wa e tohu ana i te solver="2" ki Cargo.toml, ka ngana te kaiwhakahaere o te kete ki te hapai tika i tenei pakanga, ka wehe i te dev, te kaihautu me nga whakawhirinakitanga.

  • Ka whakatinanahia e Cargo te kōwhiringa split-debuginfo, kua tohua i te wāhanga "[profile]", me te haki "-Csplit-debuginfo=unpacked" e rite ana ki roto i te rustc, e tuku ana i te whakatinanatanga o tētahi tikanga hou mō te tiaki i ngā mōhiohio patuiro, e whakakore ana i te hiahia ki te karanga i te taputapu dsymutil, ā, ka tere ake te tukanga hanga me ngā mōhiohio patuiro i roto. macOS.
  • Ko nga mako kua pumau "ptr::addr_of!" me "ptr::addr_of_mut!", ka taea e koe te hanga tohu tohu mo nga mara kore. whakamahi std::ptr; #[repr(packed)] struct Kua whakakīa { f1: u8, f2: u16, } let packed = Takahia { f1: 1, f2: 2 }; // &packed.f2 ka waihanga i te atatohu kore-whakaritea e arai ana ki te whanonga kaore i tautuhia kia raw_f2 = ptr::addr_of!(packed.f2); assert_eq!(kore haumaru { raw_f2.read_unaligned() }, 2);
  • Ko tetahi waahanga hou o te API kua whakawhitia ki te waahanga pumau, tae atu ki nga tikanga e whai ake nei kua whakapumautia:
    • Arc::te whakaheke_kaha_ tatau
    • Arc::te pikinga_kaha_ tatau
    • Kotahi::call_once_force
    • Tirohanga::Next_if_eq
    • Tirohanga::next_if
    • Rapua::stream_position
    • huranga::IntoIter
    • panic::panic_any
    • ptr::addr_of!
    • ptr::addr_of_mut!
    • poro::fill_with
    • poro::split_inclusive_mut
    • poro::split_inclusive
    • poro::strip_prefix
    • poro::strip_suffix
    • str::split_inclusive
    • tukutahi::OnceState
    • mahi:: Maranga
  • Ko te taumata tuatoru o te tautoko kua whakatinanahia mo te i386-unknown-linux-gnu, i486-unknown-linux-gnu, aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32 me aarch64_be-unknown-linux-gnu_ilp32 tüäpapa . 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.

Source: opennet.ru

Hokona te manaaki pono mo nga waahi me te tiaki DDoS, nga kaiwhakarato VPS VDS 🔥 Hokona he manaaki paetukutuku pono me te tiakitanga DDoS, ngā tūmau VPS VDS | ProHoster