Rust 1.46 Kutulutsa Chilankhulo cha Mapulogalamu

Lofalitsidwa kutulutsa 1.46 ya chilankhulo cha pulogalamu yamakina dzimbiri, yokhazikitsidwa ndi polojekiti ya Mozilla. Chilankhulochi chimayang'ana kwambiri pachitetezo cha kukumbukira, chimapereka kasamalidwe ka kukumbukira, ndipo chimapereka zida zogwirira ntchito limodzi popanda kugwiritsa ntchito chotolera zinyalala komanso nthawi yothamanga.

Kuwongolera kukumbukira kwa Rust kumachotsa zolakwika pakuwongolera zolozera ndikutchinjiriza ku zovuta zomwe zimadza chifukwa chakuwongolera kukumbukira pang'ono, monga kulowa mdera la kukumbukira zitamasulidwa, kuchotsedwa kwa null pointer, buffer overruns, ndi zina zambiri. Woyang'anira phukusi akupangidwa kuti azigawira malaibulale, kuwonetsetsa kusonkhanitsa ndi kuyang'anira zodalira ndi polojekiti. katundu, kukulolani kuti mupeze malaibulale ofunikira pa pulogalamuyo ndikudina kamodzi. Malo osungiramo mabuku amathandizidwa kuti azisunga malaibulale makate.io.

waukulu zatsopano:

  • Kuthekera kwa ntchito zomwe zimatanthauzidwa pogwiritsa ntchito mawu oti "const fn" zakulitsidwa, zomwe sizingatchulidwe ngati ntchito zanthawi zonse, komanso kugwiritsidwa ntchito mwanjira iliyonse m'malo mwa zokhazikika. Ntchitozi zimawerengedwa panthawi yosonkhanitsa, osati panthawi yothamanga, choncho zimakhala ndi zoletsa zina, monga kutha kuwerenga kuchokera kuzinthu zokhazikika.

    Kutulutsa kwatsopanoku kumachotsa kuletsa kugwiritsa ntchito makina a Boolean (“&&” ndi “||”) muzochita zotere, ndikulola kugwiritsa ntchito zomanga za “ngati”, “ngati tilole”, “match”,
    "pamene", "pamene let" ndi "loop", komanso amapereka mwayi wosinthika kukhala magawo (gawo, magulu osinthika) pogwiritsa ntchito mawu akuti "&[T]". Kugwiritsa ntchito zinthu izi mu "const fn" kumakuthandizani kuti musunthire ntchito zina zogwiritsa ntchito kwambiri pagawo lophatikiza. Mwachitsanzo, kukhazikitsidwa kwa "const-sha1" kumapangitsa kuwerengera SHA-1 hashes panthawi yophatikiza, zomwe zimatsogolera kufulumizitsa zomangira za WinRT kwa dzimbiri pafupifupi nthawi 40.

  • Kuti mauthenga olakwika akhale odziwa zambiri, chithandizo cha "#[track_caller]" chakhazikika, chomwe chimakhala chothandiza pazinthu monga kumasula, zomwe zingayambitse mantha ngati mitundu ikugwiritsidwa ntchito molakwika. Zomwe zatchulidwazi zidzagwiritsidwa ntchito ndi chowongolera mantha kusindikiza malo omwe wayimbirayo ali ndi vuto.
  • Chizindikiro cha "const", chomwe chimatsimikizira kuthekera kochigwiritsa ntchito mwanjira iliyonse m'malo mwa zokhazikika, chimagwiritsidwa ntchito mu std::mem::iwala njira.
  • Gawo latsopano la API lasunthidwa ku gulu lokhazikika, kuphatikiza Njira yokhazikika ::zip ndi vec::Drain::as_slice.
  • Mu phukusi woyang'anira Cargo anawonjezera kuthandizira pazosintha zatsopano za chilengedwe zomwe zakhazikitsidwa polemba phukusi: CARGO_BIN_NAME (dzina la fayilo yomwe ingogwirika), CARGO_CRATE_NAME (dzina la phukusi), CARGO_PKG_LICENSE (chilolezo chofotokozedwa mu manifesto), CARGO_PKG_LICENSE_FILE (njira yopita ku fayilo ya laisensi).

Source: opennet.ru

Kuwonjezera ndemanga