Izdaja programskega jezika Rust 1.35

potekala izdaja sistemskega programskega jezika Rja 1.35razvil projekt Mozilla. Jezik se osredotoča na varno upravljanje pomnilnika, zagotavlja samodejno upravljanje pomnilnika in zagotavlja sredstva za doseganje visoke vzporednosti opravil, hkrati pa se izogiba uporabi zbiralnika smeti in izvajalnega okolja.

Rustovo samodejno upravljanje pomnilnika reši razvijalca pred manipulacijo kazalcev in ščiti pred težavami, ki izhajajo iz manipulacije pomnilnika na nizki ravni, kot je dostop do območja pomnilnika, potem ko je bilo osvobojeno, dereferenciranje ničelnih kazalcev, prekoračitev medpomnilnika itd. Za distribucijo knjižnic, zagotavljanje sestavljanja in upravljanje odvisnosti projekt razvija upravitelja paketov Cargo, ki vam omogoča, da z enim klikom pridobite knjižnice, ki jih potrebujete za program. Repozitorij je podprt za gostovanje knjižnic zaboji.io.

Glavni inovacije:

  • Lastnosti FnOnce, FnMut и Fn implementiran za kopično dodeljeno škatlaste vrste Box‹dyn FnOnce›, Box‹dyn FnMut› in Box‹dyn Fn›;
  • Dodano priložnost pretvorba zapiral v nevarne kazalce funkcij (nevaren fn);
  • Implementirana možnost klicanja makra "dbg!" brez argumentov za prikaz imena datoteke in številke vrstice v stderr brez pregleda spremenljivke, kar je priročno za razhroščevanje delovanja pogojnih izrazov;
  • Dodana metoda " vrstama s plavajočo vejico f32 in f64copysign» za kopiranje znaka iz ene številke v drugo;
  • Dodana metoda "Vsebuje“, ki vam omogoča, da preverite, ali je podana vrednost v območju;
  • Dodana metoda Ref:Celica:map_split, ki vam omogoča, da odražate in ločite izposojeno vrednost RefCell za različne komponente izposojenih podatkov;
  • Dodana metoda RefCell::replace_with zamenjati trenutno vrednost RefCell in vrniti staro vrednost kot rezultat;
  • Dodana metoda ptr::hash za zgoščevanje kazalca ali sklica z naslovom namesto z naslovljeno vrednostjo;
  • Dodana metoda Možnost::kopirano za kopiranje vsebine možnosti Option‹&T› ali Option‹&mut T›;
  • Nov del API-jev je bil prenesen v kategorijo stabilnih, vključno z metodami, ki so bile stabilizirane
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Obseg::vsebuje,
    RangeFrom::vsebuje,
    RangeTo::vsebuje,
    RangeInclusive::vsebuje,
    RangeToInclusive::vsebuje in
    Možnost::kopirano;

  • Dodano preverjanje drop_bounds v clippy (linter), ki se sproži, ko v funkcijo dodamo vezavo “T: Drop”;
  • Prevajalnik je dodal podporo za novo ciljno platformo
    wasm32-unknown-wasi (vmesnik SEM BIL JAZ za uporabo WebAssembly zunaj brskalnika);

  • Zbirka orodij Rust je prilagojena za distribucije, ki temeljijo na standardni knjižnici C Musl.

Vir: opennet.ru

Dodaj komentar