Hoʻokuʻu ʻia ʻo Rust 1.62

Ua paʻi ʻia ka hoʻokuʻu ʻia ʻana o ka ʻōlelo hoʻolālā kumu nui ʻo Rust 1.62, i hoʻokumu ʻia e ka papahana Mozilla, akā i kēia manawa ua hoʻomohala ʻia ma lalo o ka mana o ka hui kūʻokoʻa waiwai ʻole ʻo Rust Foundation. Hoʻopili ʻia ka ʻōlelo i ka palekana hoʻomanaʻo a hāʻawi i nā ala e hoʻokō ai i ka parallelism kiʻekiʻe i ka hoʻokō ʻana i ka hana, ʻoiai e pale ana i ka hoʻohana ʻana i ka ʻōpala a me ka manawa holo (ua hoʻemi ʻia ka manawa holo i ka hoʻomaka kumu a me ka mālama ʻana i ka waihona maʻamau).

Hoʻokuʻu ʻia nā ʻenehana hoʻomanaʻo hoʻomanaʻo a Rust i ka mea hoʻomohala mai nā hewa manipulation pointer a pale i nā pilikia e kū mai ana mai ka hoʻohana ʻana i ka hoʻomanaʻo haʻahaʻa haʻahaʻa, e like me ke komo ʻana ma hope o ka loaʻa ʻole ʻana, nā kuhi kuhikuhi null, overruns buffer, a me nā mea like. No ka hāʻawi ʻana i nā hale waihona puke, e hōʻoia i ka hui ʻana a me ka mālama ʻana i nā hilinaʻi, ke kūkulu nei ka papahana i ka luna pūʻolo Cargo. Kākoʻo ʻia ka waihona crates.io no ka mālama ʻana i nā hale waihona puke.

Hoʻoikaika ʻia ka palekana hoʻomanaʻo ma Rust i ka manawa hōʻuluʻulu ma o ka nānā ʻana, ka nānā ʻana i ka mea nona ka mea, ka noʻonoʻo ʻana i ke ola o ka mea (scoping), a me ka loiloi hoʻomanaʻo i ka wā holo. Hāʻawi pū ʻo Rust i ka pale ʻana i ka integer overflows, pono e hoʻomaka mua ʻia nā waiwai hoʻololi ma mua o ka hoʻohana ʻana, ʻoi aku ka maikaʻi o ka lawelawe hewa ʻana i ka waihona maʻamau, hoʻohana i ka manaʻo o nā kuhikuhi immutable a me nā loli ma ke ʻano maʻamau, a hāʻawi i ka paʻi static ikaika e hōʻemi i nā hewa loiloi.

Nā hana hou nui:

  • Hāʻawi ka luna pūʻolo "cargo" i ke kauoha "add", e hiki ai iā ʻoe ke hoʻohui i nā hilinaʻi hou i ka Cargo.toml hōʻike a hoʻololi paha i nā hilinaʻi i loaʻa mai ka laina kauoha. ʻAe ke kauoha iā ʻoe e kuhikuhi i nā hiʻohiʻona a me nā ʻano, no ka laʻana: cargo add serde —features derive cargo add nom@5
  • Hoʻohui i ka hiki ke hoʻohana i ka "#[derive (Default)]" me nā enums kahi i wehewehe ʻia ai ke koho paʻamau me ka hoʻohana ʻana i ka ʻano "#[default]". #[derive(Default)] enum Malia paha { #[default] ʻAʻohe mea, Kekahi mea(T), }
  • Ma ke kahua Linux, hoʻohana ʻia kahi hoʻokō ʻoi aku ka paʻakikī a me ka wikiwiki o ka mīkini synchronization Mutex, e pili ana i ka hoʻohana ʻana i nā futexes i hāʻawi ʻia e ka kernel Linux. ʻAʻole like me ka hoʻokō ʻana i hoʻohana mua ʻia e pili ana i ka waihona pthreads, hoʻohana ka mana hou i 5 bytes wale nō ma mua o 40 no ka mālama ʻana i ka mokuʻāina ʻo Mutex. Pēlā nō, ua hoʻololi ʻia nā mīkini laka Condvar a me RwLock i futex.
  • Ua hoʻokō ʻia kahi pae ʻelua o ke kākoʻo no ka x86_64-unknown-none target platform, i hoʻolālā ʻia e hana i nā faila hiki ke hana me ka ʻole o ka ʻōnaehana hana. No ka laʻana, hiki ke hoʻohana ʻia ke kahua i kuhikuhi ʻia i ke kākau ʻana i nā ʻāpana kernel. ʻO ka pae ʻelua o ke kākoʻo e pili ana i kahi hōʻoia hui.
  • Ua hoʻokō ʻia ke kolu o ke kākoʻo no nā kahua aarch64-pc-windows-gnullvm a me x86_64-pc-windows-gnullvm. ʻ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, ka hoʻopuka ʻana i nā hale mana, a i ʻole ka nānā ʻana inā hiki ke kūkulu ʻia ke code.
  • Ua hoʻoili ʻia kahi ʻāpana hou o ka API i ka ʻāpana paʻa, me nā ʻano a me nā hoʻokō o nā ʻano:
    • bool::then_some
    • f32:: huina_cmp
    • f64:: huina_cmp
    • Stdin::laina
    • puka makani::CommandExt::raw_arg
    • impl waiwai paʻamau no AssertUnwindSafe
    • Mai > no Rc
    • Mai > no Arc<[u8]>
    • FusedIterator no EncodeWide

    Source: opennet.ru

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