Rust 1.35 Chirongwa Mutauro Kuburitswa

zvakaitika system programming mutauro kuburitswa Ngura 1.35, yakagadzirwa neMozilla project. Mutauro unotarisana nekuchengetedza ndangariro, unopa otomatiki ndangariro manejimendi, uye inopa nzira yekuwana yakakwirira basa parallelism pasina kushandisa muunganidzi wemarara kana nguva yekumhanya.

Rust's otomatiki ndangariro manejimendi inosunungura mugadziri kubva pakugadzirisa pointer uye inodzivirira kubva kune yakaderera-level ndangariro manipulation, senge mushure-yemahara memory yekuwana, null pointer dereferences, buffer overruns, nezvimwe. Maneja wepakeji ari kugadzirwa kugovera maraibhurari, kuona kuungana uye kugadzirisa zvinovimbika neprojekiti. kago, zvichikubvumidza kuti uwane maraibhurari anodiwa pachirongwa ichi nekudzvanya kumwe chete. A repository inotsigirwa kuitisa maraibhurari crates.io.

chikuru zvitsva:

  • Hunhu FnOnce, FnMut и Fn inoshandiswa kune murwi-wakagoverwa boxed types Box‹dyn FnOnce›, Box‹dyn FnMut› and Box‹dyn Fn›;
  • Added mukana kukanda kuvharwa kune asina kuchengetedzeka basa anonongedzera (isina kuchengeteka fn);
  • Yakaita kugona kudaidza iyo macro "dbg!" pasina nharo dzekuratidza zita refaira uye nhamba yemutsara mu stderr pasina kuongorora shanduko, iyo yakanakira kugadzirisa mashandiro emamiriro ekutaura;
  • Yakawedzerwa nzira " kune inoyangarara poindi mhando f32 uye f64copysign»kukopa hunhu kubva kune imwe nhamba kuenda kune imwe;
  • Yakawedzerwa nzira"ine", izvo zvinokutendera kuti utarise kana kukosha kwakatarwa kuri mukati merudzi;
  • Yakawedzerwa nzira Ref:Cell:map_split, kukubvumira kuratidzira uye kuparadzanisa kukosha kweRefCell yakakweretwa yezvikamu zvakasiyana zve data yakakweretwa;
  • Yakawedzerwa nzira RefCell::tsiva_ne kutsiva kukosha kweRefCell uye kudzosera kukosha kwekare semhedzisiro;
  • Yakawedzerwa nzira pr::hashi kuita hashi chinongedzo kana chinongedzo nekero kwete kukosha kwatarwa;
  • Yakawedzerwa nzira Sarudzo::yakakopwa kukopa zviri mukati meSarudzo‹&T› or Option‹&mut T› sarudzo;
  • Chikamu chitsva che APIs chakaendeswa kune yakagadzikana chikamu, kusanganisira nzira dzakagadziriswa
    f32::copysign,
    f64::copysign,
    RefCell ::tsiva_na,
    RefCell::map_split,
    ptr::hashi,
    Range::ine,
    RangeKubva::ine,
    RangeKu::ine,
    RangeInclusive ::ine,
    RangeToInclusive ::ine uye
    Sarudzo::kopidzwa;

  • Yakawedzera drop_bounds cheki kune clippy (linter), iyo inokonzeresa kana ichiwedzera "T: Drop" inosunga kune basa;
  • Iyo compiler yakawedzera tsigiro yepuratifomu itsva inotarirwa
    wasm32-unknown-wasi (interface WASI kushandisa WebAssembly kunze kwebrowser);

  • Iyo Rust toolkit inogadziridzwa kugovera zvichienderana neyakajairwa C raibhurari Musl.

Source: opennet.ru

Voeg