Hoʻokuʻu ʻia ʻo Rust 1.44

paʻi ʻia hoʻokuʻu ʻōlelo hoʻolālā ʻōnaehana Popo 1.44, i hoʻokumu ʻia e ka papahana Mozilla. Hoʻopili ka ʻōlelo i ka palekana hoʻomanaʻo, hāʻawi i ka hoʻokele hoʻomanaʻo maʻalahi, a hāʻawi i nā mea paahana no ka loaʻa ʻana o ka parallelism hana kiʻekiʻe me ka hoʻohana ʻole ʻana i ka ʻohi ʻōpala a Runtime.

Hoʻopau ka hoʻokele hoʻomanaʻo hoʻomanaʻo a Rust i nā hewa i ka wā e hoʻopunipuni ai i nā kuhikuhi a pale i nā pilikia e puka mai ana mai ka hoʻoponopono hoʻomanaʻo haʻahaʻa haʻahaʻa, e like me ke komo ʻana i kahi ʻāpana hoʻomanaʻo ma hope o ka hoʻokuʻu ʻia ʻana, nā kuhikuhi kuhikuhi null, overruns buffer, etc. Ke kūkulu ʻia nei kahi luna pūʻolo e puʻunaue i nā hale waihona puke, e hōʻoia i ka hui ʻana a me ka mālama ʻana i nā hilinaʻi e ka papahana. waiwai, hiki iā ʻoe ke kiʻi i nā hale waihona puke e pono ai no ka papahana i hoʻokahi kaomi. Kākoʻo ʻia kahi waihona no ka mālama ʻana i nā hale waihona puke crates.io.

I loko o ka kikokikona o ka hoʻolaha o ka hoʻokuʻu hou, ua komo nā mea hoʻomohala Rust i ka politika a hōʻole loa i ka hoʻolaha ʻana i kahi loiloi piha o nā hoʻololi i Rust 1.44 i hōʻailona o ka hui pū ʻana me nā mea kūʻē i ka hana ʻino a nā mākaʻi, e hōʻike ana he ʻoi aku ka nui o kēia pilikia. ma mua o ka hoʻololi ʻana i ka ʻike loea. Kumu nā mea hou:

  • Hoʻohui ka luna pūʻolo Cargo i ke kauoha "lāʻau ukana", e hōʻike ana i ka pakuhi hilinaʻi e like me ka lāʻau. Hoʻohui pū ʻia ke koho "—duplicates" ("cargo tree -d"), hiki iā ʻoe ke loiloi i nā hilinaʻi ma nā ʻano like ʻole o ka pūʻolo like.

    mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── amonia v3.0.0
    │ ├── html5ever v0.24.0
    │ │ ├── log v0.4.8
    │ │ │ └── cfg-if v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup5ever v0.9.0
    │ │ ├── log v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_shared v0.7.24
    │ │ │ ├── mea hoʻoheheʻe v0.2.3
    │ │ │ └── unicase v1.4.2
    │ │ │ [build-dependencies] │ │ │ └── version_check v0.1.5
    ...

  • No nā noi i hoʻopaʻa ʻole ʻia i kahi std ("#![no_std]"), hoʻokō ʻia ke kākoʻo no nā ʻenehana polokalamu asynchronous ma muli o ka hana "async", ka async neʻe { ... } poloka a me ka ".await" mea hoʻohana. e hoʻomāmā i ke kākau ʻana i nā mea paʻa ʻole ke kahe kauoha nui.
  • Ua hoʻohui ʻia ke kākoʻo no kahi hoʻolālā wehewehe hierarchy module extensible i ka parser. No ka laʻana, ʻaʻole e hana hewa ka hana ma lalo nei, ʻoiai ka nele maoli o ka module "foo/bar/baz.rs" (ʻaʻole kūpono ke kūkulu ʻana a hiki ke kumu i kahi hewa, akā hiki ke ʻike ʻia nā loli ma ka pae hoʻohui macro a me ke kūlana):

    #[cfg(FALSE)] mod foo {
    pahu mod {
    mod baz;
    }
    }

  • Ua hoʻohui ka rustc compiler i ka hiki ke hoʻohana i ka hae "-C codegen-units" ma ke ʻano incremental. Ua hana hou ʻia ka hoʻokō ʻana i ka catch_unwind no laila ʻaʻohe hopena o ka hana inā paʻa ke kaʻina hana unwinding a ʻaʻohe hoʻokaʻawale ʻia.
  • Ua hāʻawi ʻia ke kākoʻo pae 64 no nā paepae aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos a me x64_XNUMX-apple-tvos. ʻO ke kolu o ka pae e pili ana i ke kākoʻo maʻamau, akā me ka ʻole o ka hoʻāʻo ʻana a me ka hoʻolaha ʻana i nā hale kūhelu.
  • Ua hoʻoili ʻia kahi ʻāpana hou o nā API i ka ʻāpana paʻa, me ka hoʻopaʻa ʻia
    PathBuf::me_hiki,
    PathBuf::hiki,
    PathBuf::akaka,
    PathBuf::reserve,
    PathBuf::reserve_exact,
    PathBuf::shrink_to_fit,
    {f32|f64}::to_int_unchecked,
    Hoʻolālā::align_to,
    Hoʻolālā::pad_to_align,
    Layout::array and
    Hoʻolālā:: hoʻonui.

  • Nā hana lōʻihi o ka waihona maʻamau:
    • Hoʻohui ʻia kahi ʻano "vec![]" kūikawā i hōʻike pololei ʻia ma Vec::new(), e ʻae ana i ka "vec![]" e hoʻohana ʻia ma ka pōʻaiapili ma kahi o nā mea mau.
    • Ua hoʻohui ʻia kahi hoʻokō (impl) o ke ʻano e hoʻohuli:: Infallible Hash.
    • Hoʻohana ʻo OsString i nā kuhikuhi akamai DerefMut и IndexMut, e hoʻihoʻi ana "&mut OsStr".
    • Hoʻohui ʻia ke kākoʻo no Unicode 13.
    • Hoʻokō ʻia ma String Mai<&mut str>.
    • Hoʻohana ʻo IoSlice i ke ʻano ke kope.
    • Vec hoʻokō ʻia Mai<[T; N]>.
    • proc_macro :: LexError hoʻokō fmt :: Hōʻike a me ka Hapa.
  • Hoʻohana ʻia ka ʻano "const", e hoʻoholo ai inā hiki ke hoʻohana ʻia i loko o kekahi pōʻaiapili ma kahi o nā mea mau, ua hoʻohana ʻia ma nā ʻano from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes a me to_ne_bytes no nā ʻano integer āpau.
  • Kākoʻo hoʻohui ʻia no ka hoʻokumu ʻana i nā hale waihona puke ma ke ʻano ".a" ma kahi o ".lib" no nā kahua GNU ma Windows.
  • Ua hoʻokiʻekiʻe ʻia nā koi haʻahaʻa no LLVM i LLVM version 8.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka