Rust 1.35 ohjelmointikielen julkaisu

tapahtui järjestelmän ohjelmointikielen julkaisu Ruoste 1.35, jonka on kehittänyt Mozilla-projekti. Kieli keskittyy muistin turvallisuuteen, tarjoaa automaattisen muistinhallinnan ja tarjoaa keinon saavuttaa korkea tehtävien rinnakkaisuus ilman roskankerääjää tai ajonaikaa.

Rustin automaattinen muistinhallinta vapauttaa kehittäjän osoittimien manipuloinnista ja suojaa matalan tason muistin käsittelystä johtuvilta ongelmilta, kuten jälkivapailta muistin hauilta, nollaosoittimen viittauksilta, puskurin ylityksiltä ja vastaavilta. Paketinhallintaa kehitetään kirjastojen jakamiseen, kokoamisen varmistamiseen ja riippuvuuksien hallintaan projektin toimesta. lasti, jonka avulla voit saada ohjelman tarvitsemat kirjastot yhdellä napsautuksella. Arkisto on tuettu isäntäkirjastoille laatikot.io.

Pääasiallinen innovaatioita:

  • Ominaisuudet FnOnce, FnMut и Fn toteutetaan kasa-allokoidulle laatikolliset tyypit Box‹dyn FnOnce›, Box‹dyn FnMut› ja Box‹dyn Fn›;
  • lisätty tilaisuus sulkea epäturvallisia toimintoosoittimia (unsafe fn);
  • Otettu käyttöön kyky kutsua makroa "dbg!" ilman argumentteja tiedostonimen ja rivinumeron näyttämiseksi stderrissä ilman muuttujan tarkastusta, mikä on kätevää ehdollisten lausekkeiden toiminnan virheenkorjauksessa;
  • Lisätty menetelmä " liukulukutyyppeihin f32 ja f64kopiomerkki» merkin kopioiminen numerosta toiseen;
  • Lisätty menetelmä "sisältää“, jonka avulla voit tarkistaa, onko määritetty arvo alueella;
  • Lisätty menetelmä Ref:Cell:map_split, jonka avulla voit heijastaa ja erottaa lainatun RefCell-arvon lainattujen tietojen eri osien välillä;
  • Lisätty menetelmä RefCell::replace_with korvata nykyinen RefCell-arvo ja palauttaa vanha arvo tuloksena;
  • Lisätty menetelmä ptr::hash tiivistää osoittimen tai viittauksen osoitteeseen osoitteen sijaan;
  • Lisätty menetelmä Vaihtoehto::kopioitu kopioidaksesi Optio‹&T›- tai Optio‹&mut T›-asetusten sisällön;
  • Uusi osa API:ista on siirretty vakaaseen luokkaan, mukaan lukien stabiloidut menetelmät
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Alue::sisältää,
    RangeFrom::sisältää,
    RangeTo::sisältää,
    Valikoima::sisältää,
    RangeToInclusive::sisältää ja
    Vaihtoehto::kopioitu;

  • Lisätty drop_bounds -tarkistus clippyyn (linter), joka laukeaa, kun funktioon lisätään T: Drop -sidos;
  • Kääntäjä on lisännyt tuen uudelle kohdealustalle
    wasm32-unknown-wasi (käyttöliittymä OLINKO MINÄ käyttää WebAssemblya selaimen ulkopuolella);

  • Rust-työkalupakki on mukautettu vakiomuotoiseen C-kirjastoon Musl perustuviin jakeluihin.

Lähde: opennet.ru

Lisää kommentti