Rust 1.52 Whakaputa Reo Papatono

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

  • Kua tangohia te herenga ki te raupapa o te whakatinanatanga o nga whakahau "taki utanga" me nga whakahau "clippy utanga". I mua, ko te kii i te "cargo clippy" i muri i te "cargo check" kaore i whakarewahia te taputapu clippy (linter) na te kore o te wehenga keteroki mo enei momo taki. Inaianei kua whakatauhia tenei raru, kua kore e whai take te ota e kiia ana ko te "kirikiri utanga" me te "tirotiro utanga".
  • Ko tetahi waahanga hou o te API kua whakawhitia ki te waahanga pumau, tae atu ki nga tikanga e whai ake nei kua whakapumautia:
    • Tohenga::as_str
    • tohu::MAX
    • tohu::REPLACEMENT_CHARACTER
    • char::UNICODE_VERSION
    • char::decode_utf16
    • char::from_digit
    • char::from_u32_unchecked
    • char::mai_u32
    • poro::wahi_wahi
    • str::rsplit_once
    • str::wehe_kotahi
  • 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 tikanga:
    • tohu::len_utf8
    • tohu::len_utf16
    • char::ki_ascii_matua
    • char::to_ascii_pūriki
    • char::eq_ignore_ascii_case
    • u8::ki_ascii_matua
    • u8::ki_ascii_pūriki
    • u8::eq_ignore_ascii_case
  • Kua taapirihia te tirotiro lint unsafe_op_in_unsafe_fn ki te whakatau mehemea kei te hangahia te waehere haumaru i roto i nga mahi haumaru e nga poraka kino.
  • Ka whakaaetia te maka i nga atatohu hurihuri ki nga huānga ki te ahua o nga tohu ki te momo o te huānga huānga. kia mut x: [whakamahi; 2] = [0, 0]; kia p = &mut x hei *mut whakamahi; kia p = &mut x as *const usize;
  • E 9 nga haki hou kua taapirihia ki te clippy (linter).
  • Kei te tautoko te kaiwhakahaere kete utanga i te mara "manifest_path" i JSON mo nga kete. He tautoko taapiri mo te tautuhi i nga korero raihana ki te whakatakotoranga SPDX 3.11 ki te putunga crates.io.
  • Ka whakaaetia ki te tautuhi i nga whiriwhiringa maha i te wa e whakahaere ana i nga whakamatautau, hei tauira ko te whakahaere "whakamatautau uta - foo bar" ka whakahaere i nga whakamatautau katoa e rite ana ki nga tohu "foo" me te "pa".
  • Ko te kete taputapu LLVM taunoa kua whakahoutia ki LLVM 12.
  • Ko te taumata tuatoru o te tautoko kua whakatinanahia mo te s390x-unknown-linux-musl, riscv32gc-unknown-linux-musl, riscv64gc-unknown-linux-musl me powerpc-unknown-openbsd platforms. Ko te taumata tuatoru ko te tautoko taketake, engari kaore he whakamatautau aunoa, te whakaputa i nga hanganga mana, te tirotiro ranei mena ka taea te hanga te waehere.

Source: opennet.ru

Tāpiri i te kōrero