Rust 1.35 Kutulutsa Chilankhulo cha Mapulogalamu

chinachitika kutulutsidwa kwa chilankhulo cha pulogalamu yadongosolo Dzimbiri 1.35, yopangidwa ndi polojekiti ya Mozilla. Chilankhulochi chimayang'ana kwambiri pachitetezo cha kukumbukira, chimapereka kasamalidwe ka kukumbukira, ndipo chimapereka njira zopezera ntchito yofanana kwambiri popanda kugwiritsa ntchito chotolera zinyalala kapena nthawi yothamanga.

Kuwongolera kukumbukira kwa Rust kumamasula wopanga kuti asasokonezedwe ndi pointer ndikutchinjiriza ku zovuta zomwe zimadza chifukwa chakuwongolera kukumbukira kwapang'onopang'ono, monga kulowa kwa kukumbukira kwaulere, kusokoneza null pointer, buffer overruns, ndi zina zotero. 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:

  • Makhalidwe FnOnce, FnMut и Fn kukhazikitsidwa kwa mulu wogawika mitundu yamabokosi Box‹dyn FnOnce›, Box‹dyn FnMut› ndi Box‹dyn Fn›;
  • Zowonjezedwa mwayi kutsekera kutsekedwa kwa zolozera zosatetezeka (fn yosatetezeka);
  • Yakhazikitsa luso lotcha macro "dbg!" popanda mikangano yowonetsa dzina lafayilo ndi nambala ya mzere mu stderr osayang'ana zosinthika, zomwe ndizosavuta kuwongolera magwiridwe antchito a mawu okhazikika;
  • Njira yowonjezera " ku mitundu yoyandama ya f32 ndi f64chizindikiro» kukopera munthu kuchokera nambala imodzi kupita ina;
  • Njira yowonjezera "lili ndi", zomwe zimakulolani kuti muwone ngati mtengo womwe watchulidwa uli mkati mwamtunduwo;
  • Njira yowonjezera Ref:Cell:map_split, kukulolani kuti muwonetsere ndikulekanitsa mtengo wa RefCell wobwerekedwa wa zigawo zosiyanasiyana za deta yobwereka;
  • Njira yowonjezera RefCell :: m'malo_ndi kusintha mtengo wa RefCell wamakono ndikubweza mtengo wakale monga zotsatira zake;
  • Njira yowonjezera pr:: ayi kukhala ndi cholozera kapena cholozera ndi adilesi osati mtengo woyankhidwa;
  • Njira yowonjezera Njira::kopera kukopera zomwe zili mu Option‹&T› or Option‹&mut T› options;
  • Gawo latsopano la API lasamutsidwa ku gulu lokhazikika, kuphatikizapo njira zomwe zakhazikika
    f32::chizindikiro,
    f64::chizindikiro,
    RefCell:: m'malo_ndi,
    RefCell::map_split,
    ptr::hash,
    Range:: ili,
    RangeKuchokera::muli,
    RangeTo:: ili,
    RangeInclusive :: muli,
    RangeToInclusive ::ili ndi
    Njira ::kukopedwa;

  • Wowonjezera drop_bounds cheke ku clippy (linter), yomwe imayambitsidwa powonjezera "T: Drop" kumangiriza ku ntchitoyi;
  • Wopangayo wawonjezera chithandizo cha nsanja yatsopano yomwe mukufuna
    wasm32-unknown-wasi (interface WASI kugwiritsa ntchito WebAssembly kunja kwa msakatuli);

  • Rust toolkit imasinthidwa kuti igawidwe kutengera mulingo wa C library Musl.

Source: opennet.ru

Kuwonjezera ndemanga