Rust 1.35 programmeerimiskeele väljalase

võttis aset süsteemi programmeerimiskeele väljalase Rooste 1.35mille on välja töötanud Mozilla projekt. Keel keskendub turvalisele mäluhaldusele, pakub automaatset mäluhaldust ja pakub vahendeid töö kõrge paralleelsuse saavutamiseks, vältides samal ajal prügikoguja ja käitusaja kasutamist.

Rusti automaatne mäluhaldus säästab arendajat osutitega manipuleerimisest ja kaitseb madala tasemega mäluga manipuleerimisest tulenevate probleemide eest, nagu mälualale juurdepääs pärast selle vabastamist, nullviidate viitamise tühistamine, puhvri ülekoormus jne. Teekide levitamiseks, komplekteerimise tagamiseks ja sõltuvuste haldamiseks töötab projekt välja paketihalduri last, mis võimaldab hankida programmi jaoks vajalikud teegid ühe klõpsuga. Hoidlat toetatakse teekide hostimiseks crates.io.

Kõik uuendused:

  • Omadused FnOnce, FnMut и Fn rakendatud hunniku jaoks eraldatud kasti tüübid Box‹dyn FnOnce›, Box‹dyn FnMut› ja Box‹dyn Fn›;
  • Lisatud võimalus sulgede valamine ebaturvalistele funktsiooninäitajatele (ubaturvaline fn);
  • Rakendatud on võimalus kutsuda makro "dbg!" ilma argumentideta failinime ja reanumbri kuvamiseks stderris ilma muutujat kontrollimata, mis on mugav tingimusavaldiste toimingute silumiseks;
  • Ujukoma tüüpidele f32 ja f64 on lisatud meetod "koopiamärk» märgi kopeerimiseks ühest numbrist teise;
  • Lisatud meetod "sisaldab“, mis võimaldab kontrollida, kas määratud väärtus jääb vahemikku;
  • Lisatud meetod Ref:Cell:map_split, mis võimaldab kajastada ja eraldada laenatud RefCelli väärtust laenatud andmete erinevate komponentide jaoks;
  • Lisatud meetod RefCell::asenda_ga asendada praegune RefCell väärtus ja tagastada tulemuseks vana väärtus;
  • Lisatud meetod ptr::hash kursori või viite räsimiseks aadressiga, mitte adresseeritud väärtusega;
  • Lisatud meetod Valik::kopeeritud et kopeerida suvandite Option‹&T› või Option‹&mut T› sisu;
  • Uus osa API-sid on üle viidud stabiilsesse kategooriasse, sealhulgas meetodid, mis on stabiliseeritud
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Vahemik::sisaldab,
    VahemikAlates::sisaldab,
    VahemikTo::sisaldab,
    Vahemik kaasa arvatud::sisaldab,
    RangeToInclusive::sisaldab ja
    Valik::kopeeritud;

  • Klipile (linter) on lisatud drop_bounds check, mis käivitatakse funktsioonile sidumise "T: Drop" lisamisel;
  • Kompilaator on lisanud uue sihtplatvormi toe
    wasm32-unknown-wasi (liides WASI WebAssembly kasutamiseks väljaspool brauserit);

  • Tööriistakomplekt Rust on kohandatud distributsioonide jaoks, mis põhinevad standardsel C-teegil Musl.

Allikas: opennet.ru

Lisa kommentaar