Rust 1.35 forritunarmálsútgáfa

fór fram útgáfu forritunarmáls kerfisins Ryð 1.35, þróað af Mozilla verkefninu. Tungumálið leggur áherslu á minnisöryggi, veitir sjálfvirka minnisstjórnun og veitir leið til að ná mikilli samsvörun verkefna án þess að nota sorphirðu eða keyrslutíma.

Sjálfvirk minnisstjórnun Rust leysir þróunaraðilann við bendil meðhöndlunar og verndar gegn vandamálum sem stafa af minni meðhöndlun á lágu stigi, eins og eftir-frjáls minni aðgangur, núll bendilinn afvísun, biðminni framúrkeyrsla, og þess háttar. Verið er að þróa pakkastjóra til að dreifa bókasöfnum, tryggja samsetningu og stjórna ósjálfstæði verkefnisins. Hleðsla, sem gerir þér kleift að fá þau bókasöfn sem þarf fyrir forritið með einum smelli. Geymsla er studd til að hýsa bókasöfn crates.io.

Helstu nýjungar:

  • Eiginleikar FnOnce, FnMut и Fn komið til framkvæmda fyrir hrúgu-úthlutað gerðir í kassa Box‹dyn FnOnce›, Box‹dyn FnMut› og Box‹dyn Fn›;
  • Bætt við tækifæri steypa lokanir að óöruggum aðgerðavísum (óöruggt fn);
  • Útfærði hæfileikann til að kalla fjölvi "dbg!" án rök fyrir því að birta skráarheiti og línunúmer í stderr án þess að skoða breytuna, sem er þægilegt til að kemba virkni skilyrtra tjáninga;
  • Bætt við aðferð " við fljótandi punktategundir f32 og f64copysign» til að afrita staf úr einni tölu í aðra;
  • Bætt við aðferð "inniheldur“, sem gerir þér kleift að athuga hvort tilgreint gildi sé innan marka;
  • Aðferð bætt við Ref:Cell:map_split, sem gerir þér kleift að endurspegla og aðskilja lánaða RefCell gildi fyrir mismunandi þætti lánsgagnanna;
  • Aðferð bætt við RefCell::replace_with að skipta út núverandi RefCell gildi og skila gamla gildinu sem afleiðing;
  • Aðferð bætt við ptr::hash að hash bendil eða tilvísun eftir heimilisfangi frekar en heimilisfanginu;
  • Aðferð bætt við Valkostur::afritaður til að afrita innihald valkostanna Option‹&T› eða Option‹&mut T› valmöguleikar;
  • Nýr hluti API hefur verið fluttur í stöðugan flokk, þar á meðal aðferðir sem hafa verið stöðugar
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Range::inniheldur,
    RangeFrom::inniheldur,
    RangeTo::inniheldur,
    RangeInclusive::inniheldur,
    RangeToInclusive:: inniheldur og
    Valkostur::afritaður;

  • Bætti drop_bounds tékkinu við clippy (linter), sem kemur af stað þegar „T: Drop“ binding er bætt við fallið;
  • Þýðandinn hefur bætt við stuðningi við nýjan markvettvang
    wasm32-unknown-wasi (viðmót VAR ÉG til að nota WebAssembly utan vafrans);

  • Rust verkfærakistan er aðlöguð fyrir dreifingu byggða á stöðluðu C bókasafninu Musl.

Heimild: opennet.ru

Bæta við athugasemd