Lançimi i gjuhës së programimit Rust 1.35

U shpall lëshimi i gjuhës së programimit sistemor Rust 1.35, i zhvilluar nga projekti Mozilla. Gjuha fokusohet në punën e sigurt me memorie, siguron menaxhim automatik të memories dhe ofron mjete për arritjen e paralelizmit të lartë në realizimin e detyrave, duke mos përdorur mbledhësin e plehrave dhe runtime-in.

Menaxhimi automatik i memories në Rust përmban zhvilluesit nga manipulimi i treguesve dhe mbron ata nga problemet që lindin për shkak të punës me nivel të ulët me memorien, siç janë qasjet në hapësirën e memories pas lirimit të saj, dereferencimi i treguesve nul, dalja jashtë kufijve të tamponit etj. Për shpërndarjen e biblioteka, sigurimin e ndërtimit dhe menaxhimin e varësive, projekti po zhvillohet menaxher për paketat Cargo, që lejon shfrytëzimin e bibliotekave të nevojshme për programin me një klik. Për vendosjen e bibliotekave, mbështetet repository crates.io.

Ndryshimet kryesore risitë:

  • Tipazhet (trait) FnOnce, FnMut dhe Fn implementohen pĂ«r tĂ« vendosur nĂ« grumbull llojeve tĂ« boxed Boxâ€čdyn FnOnceâ€ș, Boxâ€čdyn FnMutâ€ș dhe Boxâ€čdyn Fnâ€ș;
  • Shtuar mundĂ«sia konvertimin e mbylljeve nĂ« pointera tĂ« rrezikshĂ«m tĂ« funksioneve (unsafe fn);
  • Implementohet mundĂ«sia pĂ«r tĂ« thirrur makron «dbg!» pa argumente pĂ«r tĂ« treguar nĂ« stderr emrin e skedarit dhe numrin e linjĂ«s pa e inspektuar ndryshoren, qĂ« Ă«shtĂ« e dobishme pĂ«r debugaimin e vlerave tĂ« kushtit;
  • Tek llojet pĂ«r numrat me pikĂ« lundruese f32 dhe f64 Ă«shtĂ« shtuar metoda «copysign» pĂ«r tĂ« kopjuar shenjĂ«n nga njĂ« numĂ«r nĂ« njĂ« tjetĂ«r;
  • Tek llojet Range* Ă«shtĂ« shtuar metoda «contains«, e cila lejon tĂ« kontrollohet nĂ«se njĂ« vlerĂ« e caktuar Ă«shtĂ« nĂ« interval;
  • Metoda e re Ref:Cell:map_split, e cila lejon tĂ« reflektohet dhe ndahen tĂ« dhĂ«nat e huazuara RefCell pĂ«r komponente tĂ« ndryshme tĂ« tĂ« dhĂ«nave tĂ« huazuara;
  • Metoda e re RefCell::replace_with pĂ«r tĂ« zĂ«vendĂ«suar vlerĂ«n aktuale tĂ« RefCell dhe pĂ«r tĂ« kthyer vlerĂ«n e vjetĂ«r si rezultat;
  • Metoda e re ptr::hash pĂ«r tĂ« hash-uar njĂ« pointer ose referencĂ« sipas adresĂ«s, e jo sipas vlerĂ«s sĂ« adresuar;
  • Metoda e re Option::copied pĂ«r tĂ« kopjuar pĂ«rmbajtjen e opsioneve Optionâ€č&Tâ€ș ose Optionâ€č&mut Tâ€ș;
  • NĂ« rangun e stabilĂ«ve Ă«shtĂ« kaluar njĂ« grusht i ri API, pĂ«rfshirĂ« metodat e stabilizuara
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Range::contains,
    RangeFrom::contains,
    RangeTo::contains,
    RangeInclusive::contains,
    RangeToInclusive::contains dhe
    Option::copied;
  • NĂ« clippy (linter) Ă«shtĂ« shtuar kontrolli drop_bounds, qĂ« aktivizohet kur shtohet lidhja «T: Drop» nĂ« funksion;
  • NĂ« kompilator Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r platformĂ«n e re tĂ« targetuar
    wasm32-unknown-wasi (interface WASI për përdorimin e WebAssembly jashtë shfletuesit);
  • Instrumenti Rust Ă«shtĂ« pĂ«rshtatur pĂ«r shpĂ«rndarjet qĂ« bazohen nĂ« bibliotekĂ«n standarde tĂ« C Musl.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster