Rust 1.44 Whakaputa Reo Papatono

whakaputaina te tuku reo hootaka punaha Rust 1.44, i hangaia e te kaupapa Mozilla. Ka arotahi te reo ki te haumaru mahara, ka whakarato i te whakahaere mahara aunoa, ka whakarato taputapu mo te whakatutuki i te whakarara mahi teitei me te kore e whakamahi i te kaikohi paru me te waahi.

Ko te whakahaere mahara aunoa a Rust ka whakakore i nga hapa i te wa e raweke ana i nga tohutohu me te whakamarumaru i nga raru ka puta mai i te raweke mahara taumata-iti, penei i te urunga ki tetahi rohe mahara i muri i te wa e wetekina ana, nga tohu tohu kore, te paheketanga o te putunga, aha atu. Kei te whakawhanakehia he kaiwhakahaere mokihi hei tohatoha whare pukapuka, hei whakarite i te huihuinga me te whakahaere i nga whakawhirinakitanga a te kaupapa. utanga, ka taea e koe te tiki i nga whare pukapuka e hiahiatia ana mo te kaupapa i te paato kotahi. Ka tautokohia he putunga hei manaaki i nga whare pukapuka crates.io.

I roto i te tuhinga o te panuitanga o te tukunga hou, i uru atu nga kaiwhakawhanake Rust ki nga mahi torangapu me te tino whakahē ki te whakaputa i te katoa o te arotake o nga huringa i roto i te Rust 1.44 hei tohu mo te kotahitanga ki te hunga mautohe ki te tutu pirihimana, e tohu ana he mea nui ake tenei take. atu i te whakawhiti matauranga hangarau. Taketake nga mahi auaha:

  • Ka whakauruhia e te kaiwhakahaere kete Uta te whakahau "rakau utanga", e whakaatu ana i te kauwhata ti'aturi rite-rakau. Ka taapirihia ano te kowhiringa "—ruarua" ("rakau uta -d"), ka taea e koe te arotake i nga whakawhirinakitanga i roto i nga momo momo rereke o te kete kotahi.

    mdbook v0.3.2 (/Kaiwhakamahi/src/rust/mdbook)
    ├── haukini v3.0.0
    │ ├── html5ever v0.24.0
    │ │ ├── rangitaki v0.4.8
    │ │ │ └── cfg-mehemea v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup5ever v0.9.0
    │ │ ├── rangitaki v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_shared v0.7.24
    │ │ │ ├── siphasher v0.2.3
    │ │ │ └── unicase v1.4.2
    │ │ │ [hanga-whakaaronga] │ │ │ └── version_check v0.1.5
    ...

  • Mo nga tono kaore i herea ki te std ("#![no_std]"), ka whakatinanahia te tautoko mo nga tikanga whakamaoritanga tukutahi i runga i te mahi "async", te async move { ... } poraka me te ".await" operator, e whakangwarihia te tuhi i nga kaikawe kore aukati i te rerenga whakahau matua.
  • Kua taapirihia te tautoko mo tetahi kaupapa whakamaaramatanga aroākapa whakaroa ki te parser. Hei tauira, ko te hanga e whai ake nei e kore e puta he hapa, ahakoa te kore o te waahanga "foo/bar/baz.rs" (kei te muhu tonu te ahua o te hanga, ka puta he hapa, engari ka kitea nga huringa me te poroporoaki i te te taumata whakahiato tonotono me te herenga):

    #[cfg(HAKA)] mod foo {
    pae mod {
    mod baz;
    }
    }

  • Kua taapirihia e te kaitoha rustc te kaha ki te whakamahi i te haki "-C codegen-units" i roto i te aratau taapiri. Ko te whakatinanatanga o te catch_unwind kua mahi ano kia kore ai e pa ki te mahi mena ka monoa te tukanga weriweri, karekau he akiritanga ka maka.
  • Kua whakaratohia te tautoko Taumata 64 mo te aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos me te x64_XNUMX-apple-tvos. Ko te taumata tuatoru ko te tautoko taketake, engari kaore he whakamatautau aunoa me te whakaputanga o nga hanga mana.
  • He waahanga hou o nga API kua whakawhitia ki te waahanga pumau, tae atu ki te whakapumau
    PathBuf:: with_capacity,
    PathBuf::kaha,
    PathBuf::mārama,
    PathBuf::rahui,
    PathBuf::rahui_tika,
    PathBuf::tiki_kia_tika,
    {f32|f64}::to_int_unchecked,
    Tahora::align_to,
    Tahora::pad_to_align,
    Tahora::array and
    Tahora::whakaroa.

  • Nga mahi roa o te whare pukapuka paerewa:
    • I taapirihia he momo rereke "vec![]" e whakaatu tika ana i roto i te Vec::new(), ka taea te whakamahi "vec![]" ki te horopaki, kaua ki nga taumau.
    • Kua taapirihia he whakatinanatanga (impl) o te ahuatanga ki te tahuri::Infallible Hash.
    • Ka whakatinanahia e OsString nga tohu tohu atamai DerefMut и TaurangiMut, ka hoki mai "&mut OsStr".
    • He tautoko taapiri mo te Waehereao 13.
    • Kua whakatinanahia ki te Aho Mai i<&mut str>.
    • Ka whakatinanahia e IoSlice te ahuatanga tārua.
    • Vec whakatinana Mai<[T; N]>.
    • proc_macro::Ka whakatinanahia e LexError fmt::Whakaatu me te Hapa.
  • Ko te huanga “const”, e whakatau ana ka taea te whakamahi i roto i tetahi horopaki hei utu i nga taumau, ka whakamahia i roto i nga tikanga mai i_le_paita, ki_le_paita, mai_be_paita, ki_be_paita, mai_ne_paita me ki_ne_paita mo nga momo tauoti katoa.
  • He tautoko taapiri mo te whakaputa whare pukapuka pateko ki te whakatakotoranga ".a" hei utu mo te ".lib" mo nga papaaho GNU i Windows.
  • Ko nga whakaritenga iti mo te LLVM kua hiki ki te LLVM putanga 8.

Source: opennet.ru

Tāpiri i te kōrero