Programmeerimiskeele Rust 1.35 väljaandmine

On toimunud süsteemse programmeerimise keele väljaanne Rust 1.35, mis Mozilla projekti poolt arendatav. Keel on suunatud mälu turvalisele kasutusele, tagab automaatse mälu haldamise ja pakub vahendeid ülesannete kõrge paralleelsuse saavutamiseks, vältides samas prügikorjajat ja runtime'i kasutamist.

Rustis tagab automaatne mälu haldamine arendajale mälukäitlemise manipuleerimise vabastamise ja kaitseb madala taseme mälu töötlemisega seotud probleemide eest, nagu mälu kasutamine pärast selle vabastamist, nullviidete de-referentsimine, puhverduspiiride ületamine jne. Raamatukogude jagamiseks, koostamise tagamiseks ja sõltuvuste haldamiseks arendatakse pakihaldurit Cargo, mis võimaldab vajalikke raamatukogusid ühe klikiga hankida. Raamatukogude paigutamiseks toetatakse hoidlapaiku crates.io.

Peamised uuendused:

  • Tüüpide (trait) FnOnce, FnMut ja Fn rakendatud kuhjatud väärtustele boxed-tüüpidele Box‹dyn FnOnce›, Box‹dyn FnMut› ja Box‹dyn Fn›;
  • Lisatud võimalus suletiste teisendamine mitteohutuks funktsioonipointeriks (unsafe fn);
  • Rakendatud on makro «dbg!» kutsumine ilma argumentideta, et näidata stderr'is faili nime ja rida numbrit ilma muutuja uurimist, mis on kasulik tingimuslike väljendite jaotuse tõrkeotsimiseks;
  • Uuringud f32 ja f64 ujuvate kümnendite tüüpidele on lisatud meetod «copysign» ühe numbri märgi kopeerimiseks teise numbrisse;
  • Range* tüüpidele on lisatud meetod «contains«, mis võimaldab kontrollida, kas antud väärtus jääb vahemikku;
  • Uus meetod Ref:Cell:map_split, mis võimaldab koguda ja jagada RefCell-i laenatud väärtust erinevate laenatud andmete komponentide vahel;
  • Uus meetod RefCell::replace_with kPraeguse RefCell-i väärtuse vahetamiseks ja vana väärtuse tagastamiseks tulemuseks;
  • Uus meetod ptr::hash näidiku või viite hashimiseks aadressil, mitte adresseeritud väärtusel;
  • Uus meetod Option::copied Option‹&T› või Option‹&mut T› sisu kopeerimiseks;
  • Uue API partii on tõlgitud stabiilsetesse, sealhulgas on stabiliseeritud meetodid
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Range::contains,
    RangeFrom::contains,
    RangeTo::contains,
    RangeInclusive::contains,
    RangeToInclusive::contains ja
    Option::copied;
  • clippy's (linter) on lisatud drop_bounds kontroll, mis aktiveeritakse, kui funktsiooni lisatakse seos «T: Drop»;
  • kompilaatorisse on lisatud tugi uue sihtplatvormi
    wasm32-unknown-wasi (liidese WASI WebAssembly rakendamiseks brauserist väljaspool);
  • Rust vahendite komplekt on kohandatud Musl standard C-teekide põhjal olevatele distributsioonidele.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster