Sgaoileadh cànain prògramaidh Rust 1.44

foillsichte sgaoileadh cànan prògramadh siostam Meirge 1.44, a stèidhich am pròiseact Mozilla. Bidh an cànan ag amas air sàbhailteachd cuimhne, a’ toirt seachad riaghladh cuimhne fèin-ghluasadach, agus a’ toirt seachad innealan airson co-shìnteachd àrd-obrach a choileanadh gun a bhith a’ cleachdadh inneal-cruinneachaidh sgudail agus ùine ruith.

Bidh riaghladh cuimhne fèin-ghluasadach Rust a’ cuir às do mhearachdan nuair a thathar a’ làimhseachadh chomharran agus a’ dìon an aghaidh dhuilgheadasan ag èirigh bho làimhseachadh cuimhne aig ìre ìosal, leithid faighinn gu sgìre cuimhne às deidh dha a bhith air a shaoradh, ro-aithrisean puing null, cus bufair, msaa. Thathas a’ leasachadh manaidsear pacaid gus leabharlannan a sgaoileadh, dèanamh cinnteach à co-chruinneachadh agus riaghladh eisimeileachd leis a’ phròiseact. Cargo, a 'toirt cothrom dhut na leabharlannan a tha a dhìth airson a' phrògram fhaighinn ann an aon bhriogadh. Tha stòr a’ faighinn taic gus aoigheachd a thoirt do leabharlannan cliathaichean.io.

Ann an teacsa an naidheachd mun fhoillseachadh ùr, chaidh luchd-leasachaidh Rust an sàs ann am poilitigs agus gu sònraichte dhiùlt iad làn ath-sgrùdadh fhoillseachadh air na h-atharrachaidhean ann an Rust 1.44 mar chomharradh air dìlseachd le luchd-iomairt an-aghaidh fòirneart poileis, a ’nochdadh gu bheil a’ chùis seo nas cudromaiche. seach iomlaid eòlas teignigeach. Bunaiteach innleachdan:

  • Bidh am manaidsear pacaid Cargo a’ fighe a-steach an àithne “craobh bathair”, a sheallas graf eisimeileachd coltach ri craobh. Cuideachd air a chur ris tha an roghainn “-duplicates” (“cargo tree -d”), a leigeas leat measadh a dhèanamh air eisimeileachd ann an dreachan eadar-dhealaichte den aon phacaid.

    mdbook v0.3.2 (/ Users/src/rust/mdbook)
    ├── ammonia v3.0.0
    │ ├── html5 a-riamh v0.24.0
    │ │ ├── log v0.4.8
    │ │ │ └── cfg-ma tha v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup 5 a-riamh v0.9.0
    │ │ ├── log v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_shared v0.7.24
    │ │ │ ├── siphasher v0.2.3
    │ │ │ └── aonar v1.4.2
    │ │ │ [eisimeileachd togail] │ │ │ └── version_check v0.1.5
    ...

  • Airson tagraidhean nach eil ceangailte ri std ("#![no_std]"), tha taic airson dòighean prògramadh asyncronach air a chur an gnìomh stèidhichte air a' ghnìomh "async", am bloc gluasad async { ... } agus an gnìomhaiche ".await", a tha sgrìobhadh nas sìmplidhe luchd-làimhseachaidh neo-bacadh prìomh shruth àithne.
  • Chaidh taic airson sgeama mìneachadh rangachd mhodalan leudachail a chur ris a’ pharsair. Mar eisimpleir, cha toir an togail a leanas mearachd, a dh’ aindeoin nach eil am modal “foo/bar/baz.rs” ann (tha an togail fhathast neo-dhligheach gu semantach agus dh’ fhaodadh e mearachd adhbhrachadh, ach faodar na h-atharrachaidhean fhaicinn agus am parsadh aig an ìre cruinneachaidh macro agus cumhach):

    #[cfg(FALSE)] mod foo {
    bàr mod {
    mod baz;
    }
    }

  • Tha an compiler rustc air comas a’ bhratach “-C codegen-units” a chleachdadh ann am modh mean air mhean. Chaidh buileachadh catch_unwind ath-obrachadh gus nach bi buaidh dèanadais aige ma tha am pròiseas fuasglaidh ciorramach agus mura tèid eisgeachdan a thilgeil.
  • Chaidh taic Ìre 64 a thoirt seachad airson àrd-ùrlaran aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos agus x64_XNUMX-apple-tvos. Tha an treas ìre a’ toirt a-steach taic bhunaiteach, ach às aonais deuchainn fèin-ghluasadach agus foillseachadh thogalaichean oifigeil.
  • Chaidh cuibhreann ùr de APIan a ghluasad chun roinn stàbaill, a’ toirt a-steach seasmhach
    PathBuf ::le_comas,
    PathBuf ::comas,
    PathBuf ::soilleir,
    PathBuf :: tèarmann,
    PathBuf ::reserve_exact,
    PathBuf :: shrink_to_fit,
    {f32 | f64} :: to_int_unchecked,
    Cruth ::align_to,
    Cruth:: pad_to_align,
    Cruth:: eagar agus
    Cruth:: leudachadh.

  • Gnìomhan leudaichte an leabharlainn àbhaisteach:
    • Chaidh caochladair sònraichte “vec![]” a chur ris a tha ri fhaicinn gu dìreach ann an Vec::new(), a’ leigeil le “vec! []” a chleachdadh ann an co-theacsa an àite seasmhach.
    • Chaidh buileachadh (impl) den t-seòrsa seo a chur ris gus tionndadh ::Infallible Hash.
    • Bidh OsString a’ cur an gnìomh comharran snasail DerefMut и Clàr-innseMut, a' tilleadh "&mut OsStr".
    • Taic a bharrachd airson Unicode 13.
    • Air a chur an gnìomh ann an String Bho <&mut str>.
    • Bidh IoSlice a’ cur an gnìomh an caractar lethbhreac den.
    • Vec air a chur an gnìomh Bho <[T; N]>.
    • proc_macro :: Tha LexError a' cur an gnìomh fmt ::Taisbeanadh agus Mearachd.
  • Tha am feart “const”, a tha a’ dearbhadh an gabh a chleachdadh ann an co-theacs sam bith an àite seasmhach, air a chleachdadh anns na dòighean from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes agus to_ne_bytes airson a h-uile seòrsa integer.
  • Taic a bharrachd airson leabharlannan staitigeach a chruthachadh ann an cruth “.a” an àite “.lib” airson àrd-ùrlaran GNU air Windows.
  • Tha na riatanasan as ìsle airson LLVM air an àrdachadh gu LLVM dreach 8.

Source: fosgailtenet.ru

Cuir beachd ann