system programming mutauro kuburitswa , 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. , zvichikubvumidza kuti uwane maraibhurari anodiwa pachirongwa ichi nekudzvanya kumwe chete. A repository inotsigirwa kuitisa maraibhurari .
chikuru :
- Hunhu , ΠΈ inoshandiswa kune murwi-wakagoverwa BoxβΉdyn FnOnceβΊ, BoxβΉdyn FnMutβΊ and BoxβΉdyn FnβΊ;
- Added 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 f64Β»kukopa hunhu kubva kune imwe nhamba kuenda kune imwe;
- Yakawedzerwa nzira"", izvo zvinokutendera kuti utarise kana kukosha kwakatarwa kuri mukati merudzi;
- Yakawedzerwa nzira , kukubvumira kuratidzira uye kuparadzanisa kukosha kweRefCell yakakweretwa yezvikamu zvakasiyana zve data yakakweretwa;
- Yakawedzerwa nzira kutsiva kukosha kweRefCell uye kudzosera kukosha kwekare semhedzisiro;
- Yakawedzerwa nzira kuita hashi chinongedzo kana chinongedzo nekero kwete kukosha kwatarwa;
- Yakawedzerwa nzira 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 kushandisa WebAssembly kunze kwebrowser); - Iyo Rust toolkit inogadziridzwa kugovera zvichienderana neyakajairwa C raibhurari Musl.
Source: opennet.ru
