Rust 1.60 Whakaputa Reo Papatono

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

  • Ko te kaikoipi rustc he punaha e pa ana ki te LLVM mo te whakaputa raraunga kapinga e whakamahia ana hei arotake i te kapinga waehere i te wa e whakamatautau ana. Hei whakaahei i nga raraunga kapinga i te wa o te huihuinga, me whakamahi koe i te haki "-Cinstrument-coverage", hei tauira, ka tiimata te huihuinga me te whakahau "RUSTFLAGS="-C instrument-coverage" hanga utauta. I muri i te whakahaerenga o te konae whakahaere i whakahiato penei, ka tiakina te konae default.profraw ki te raarangi o naianei, mo te tukatuka ka taea e koe te whakamahi i te whaipainga llvm-profdata mai i te waahanga llvm-tools-preview. Ko te putanga i tukatukahia e llvm-profdata ka taea te tuku ki a llvm-cov ki te whakaputa i tetahi purongo kapinga tohu tohu. Ko nga korero mo te hono ki te waehere puna ka tangohia mai i te konae ka taea te tirotirohia, kei roto ko nga raraunga e tika ana mo te hononga i waenga i nga porotiti kapinga me te waehere. 1| 1|fn matua() { 2| 1| println!("Kia ora, e te ao!"); 3| 1|}
  • I roto i te kaiwhakahaere o te kete utanga, kua whakapumauhia te tautoko mo te haki "-timings", kei roto ko te whakaputanga o nga korero mo te ahunga whakamua o te hanga me te wa mahi o ia taahiraa. Ka whai hua pea te purongo mo te arotau i te mahi o te tukanga huihuinga.
  • Ka tukuna e te kaiwhakahaere kete utanga he wetereo hou mo te tikanga o te whakahiato herenga me te kowhiringa o nga whakawhirinakitanga kowhiringa, i whirihorahia ki te konae Cargo.toml ma te whakararangi i te raarangi o nga taonga kua whakaingoatia ki te waahanga [ahuahanga] me te whakahohe ma te whakahohe i nga taonga i te wa o te hanga kete. te whakamahi i te haki “--features”. Ko te putanga hou he taapiri tautoko mo nga whakawhirinakitanga i roto i nga waahi ingoa motuhake me nga whakawhirinaki ngoikore.

    I te keehi tuatahi, ka taea te whakamahi i nga huānga me te prefix "dep:" kei roto i te waahanga "[aahua]" ki te hono atu ki tetahi ti'aturinga whiriwhiri me te kore e whakaatu i tenei ti'aturi hei ahuatanga. I te keehi tuarua, kua taapirihia te tautoko mo te tohu ki te tohu “?”. ("package-name?/feature-name") nga herenga whiriwhiri me whakauru noa mena kei roto i etahi atu rawa te ti'aturi kua tohua. Hei tauira, i roto i te tauira i raro nei, ma te whakahohe i te taonga serde ka taea te whakawhirinaki "serde", me te taonga "serde" mo te whakawhirinaki "rgb", engari mena ka taea te whakawhirinaki "rgb" ki etahi atu waahi: [ti'aturi] serde = {putanga = "1.0.133", kōwhiringa = pono } rgb = {putanga = "0.8.25", kōwhiringa = pono} [āhuatanga] serde = ["dep:serde", "rgb?/serde"]

  • Ko te tautoko mo te whakahiato taapiri, i monoa i te tukunga whakamutunga, kua whakahokia mai. Kua whakatauhia te bug whakahiato i monoa ai te ahuatanga.
  • Kua whakatauhia etahi raruraru me te whakarato i nga Matawā Inamata me te taurangi o te wa monotoni, e whai whakaaro ana ki te wa i pau i te punaha i roto i te aratau moe. I mua, i whakamahia te OS API i nga wa katoa ka taea ki te whakahaere i te taima, kaore nei i aro ki nga ahuatanga raru e pakaru ana i te waatea o te waa, penei i nga raru taputapu, te whakamahi mariko, nga hapa ranei i roto i te punaha whakahaere.
  • 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:
    • Arc::hou_hurihuri
    • Rc::huri_hou
    • poro::EscapeAscii
    • <[u8]>::escape_ascii
    • u8::escape_ascii
    • Vec::spare_capacity_mut
    • PeaUninit:: assume_init_drop
    • PeaUninit:: assume_init_read
    • i8::abs_diff
    • i16::abs_diff
    • i32::abs_diff
    • i64::abs_diff
    • i128::abs_diff
    • rahi::abs_diff
    • u8::abs_diff
    • u16::abs_diff
    • u32::abs_diff
    • u64::abs_diff
    • u128::abs_diff
    • whakamahia::abs_diff
    • Whakaatu mo io::ErrorKind
    • Mai mo te Waehere Puta
    • Ehara mo! (momo "kore rawa")
    • _Op_Tohaina<$t>
    • arch:: is_aarch64_feature_detected!
  • Ko te taumata tuatoru o te tautoko kua whakatinanahia mo te mips64-openwrt-linux-musl* me te armv7-unknown-linux-uclibceabi (softfloat). 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 hurihia te kaitoha ki te whakamahi i te LLVM 14.

I tua atu, ka taea e koe te tuhi:

  • He tautoko taapiri mo te bootstrap i te kaitoi rustc ma te whakamahi i te rustc_codegen_gcc backend, e taea ai e koe te whakamahi i te whare pukapuka libgccjit mai i te kaupapa GCC hei kaihanga waehere i roto i te rustc, e taea ai e rustc te whakarato tautoko mo nga hoahoanga me nga arotautanga e waatea ana i te GCC. Ko te tikanga o te whakatairanga kaikoiohi ko te kaha ki te whakamahi i te kaihanga waehere e pa ana ki te GCC i roto i te rustc hei hanga i te kaihanga rustc ano. I te taha mahi, ka taea e tenei waahanga te hanga kaupapa waikura mo nga hoahoanga kaore i tautokohia i mua i te rustc.
  • Ko te tukunga o te kete utauta uutils coreutils 0.0.13 e waatea ana, kei roto nei e whakawhanakehia ana he tairitenga o te kete GNU Coreutils, kua tuhia ano ki te reo Rust. Ka tae mai a Coreutils me te neke atu i te rau taputapu, tae atu ki te momo, ngeru, chmod, chown, chroot, cp, ra, dd, echo, hostname, id, ln, me ls. Ko te whainga o te kaupapa ko te hanga i tetahi whakatinanatanga rereke-whakawhitinga o Coreutils, e kaha ana ki te whakahaere i runga i nga papaaho Matapihi, Redox me Fuchsia, me te tohatoha i raro i te raihana MIT whakaae, hei utu mo te raihana kape kape GPL.

    Ko te putanga hou kua pai ake te whakatinanatanga o te maha o nga taputapu, tae atu ki te tino pai ake o te hototahitanga o nga taputapu cp, dd, df, split and tr me o raatau hoa mai i te kaupapa GNU. Kua whakaratohia nga tuhinga ipurangi. Ka whakamahia te paoro pakipaki ki te poroporoaki i nga tohenga rarangi whakahau, kua pai ake te putanga mo te haki "--help" me te taapiri tautoko mo nga whakapoto o nga whakahau roa (hei tauira, ka taea e koe te tohu "ls -col" hei utu mo "ls -color ”).

Source: opennet.ru

Tāpiri i te kōrero