Rust 1.62 Kutulutsa Chilankhulo cha Mapulogalamu

Chilankhulo chothandizira anthu ambiri Rust 1.62, chomwe chinakhazikitsidwa ndi polojekiti ya Mozilla koma tsopano chapangidwa mothandizidwa ndi bungwe lodziyimira pawokha lopanda phindu la Rust Foundation, chatulutsidwa. Chilankhulochi chimayang'ana kwambiri pachitetezo cha kukumbukira ndipo chimapereka njira zopezera kufananiza kwakukulu kwa ntchito ndikupewa kugwiritsa ntchito chotolera zinyalala ndi nthawi yothamanga (nthawi yothamanga imachepetsedwa kuti ikhale yoyambira ndikukonza laibulale yokhazikika).

Njira zogwiritsira ntchito kukumbukira za Rust zimapulumutsa wopanga ku zolakwika pamene akuwongolera zolozera ndikuteteza ku zovuta zomwe zimadza chifukwa cha kukumbukira kwapang'onopang'ono, monga kupeza malo okumbukira atamasulidwa, kuchotsa zolozera zopanda pake, ma buffer overruns, etc. Kugawira malaibulale, kupereka zomanga ndi kusamalira zodalira, pulojekitiyi imapanga woyang'anira phukusi la Cargo. Malo osungiramo crates.io amathandizidwa kuti azisunga malaibulale.

Kutetezedwa kwa Memory kumaperekedwa mu Rust panthawi yophatikiza kudzera pakuwunika, kuyang'anira umwini wa chinthu, kuyang'anira nthawi ya moyo wa chinthu (ma scopes), ndikuwunika kulondola kwa kukumbukira kukumbukira panthawi yopanga ma code. Dzimbiri limaperekanso chitetezo ku kusefukira kwazinthu zonse, kumafuna kukhazikitsidwa kovomerezeka kwa zinthu zosinthika musanagwiritse ntchito, kuwongolera zolakwika bwino mulaibulale yokhazikika, kumagwiritsa ntchito lingaliro la maumboni osasinthika ndi zosintha mwachisawawa, kumapereka zilembo zolimba kuti muchepetse zolakwika zomveka.

Zatsopano zazikulu:

  • Woyang'anira phukusi la "katundu" amapereka lamulo la "onjezani", lomwe limakupatsani mwayi wowonjezera zodalira zatsopano ku chiwonetsero cha Cargo.toml kapena kusintha zodalira zomwe zilipo kuchokera pamzere wolamula. Lamuloli limakupatsaninso mwayi kuti mufotokozere zamitundu ndi mitundu, mwachitsanzo: katundu wowonjezera serde -mawonekedwe amapeza katundu add nom@5
  • Onjezani kuthekera kogwiritsa ntchito "#[derive(Default)]" ndi ma enum momwe zosankha zosasinthika zimatanthauzidwa pogwiritsa ntchito "#[default]". #[kuchokera(Kufikira)] enum Mwina {#[chosasinthika] Palibe, Chinachake(T),}
  • Pa nsanja ya Linux, kukhazikitsidwa kowonjezereka komanso kofulumira kwa njira yolumikizirana ya Mutex imagwiritsidwa ntchito, kutengera kugwiritsa ntchito ma futexes operekedwa ndi Linux kernel. Mosiyana ndi zomwe zidagwiritsidwa ntchito kale potengera laibulale ya pthreads, mtundu watsopanowu umagwiritsa ntchito ma byte 5 okha m'malo mwa 40 kusunga dziko la Mutex. Momwemonso, njira zotsekera za Condvar ndi RwLock zasamutsidwa ku futex.
  • Gawo lachiwiri lothandizira pa nsanja ya x86_64-yosadziwika-palibe yakhazikitsidwa, yopangidwa kuti ipange mafayilo omwe amatha kugwira ntchito popanda makina opangira. Mwachitsanzo, nsanja yomwe yatchulidwa ingagwiritsidwe ntchito polemba zigawo za kernel. Gawo lachiwiri la chithandizo limaphatikizapo chitsimikizo cha msonkhano.
  • Gawo lachitatu lothandizira lakhazikitsidwa pamapulatifomu aarch64-pc-windows-gnullvm ndi x86_64-pc-windows-gnullvm. Mulingo wachitatu umakhudzanso chithandizo choyambirira, koma popanda kuyesa kokha, kusindikiza kovomerezeka, kapena kuwona ngati code ingamangidwe.
  • Gawo latsopano la API lasunthidwa ku gulu lokhazikika, kuphatikiza njira ndi kukhazikitsidwa kwa machitidwe akhazikika:
    • bool::ndiye_zina
    • f32::chinthu_cmp
    • f64::chinthu_cmp
    • Stdin:: mizere
    • windows::CommandExt::raw_arg
    • impl mtengo wokhazikika wa AssertUnwindSafe
    • Kuchokera > za Rc
    • Kuchokera > kwa Arc<[u8]>
    • FusedIterator ya EncodeWide

    Source: opennet.ru

Kuwonjezera ndemanga