järjestelmän ohjelmointikielen julkaisu , 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. , jonka avulla voit saada ohjelman tarvitsemat kirjastot yhdellä napsautuksella. Arkisto on tuettu isäntäkirjastoille .
Pääasiallinen :
- Ominaisuudet , и toteutetaan kasa-allokoidulle Box‹dyn FnOnce›, Box‹dyn FnMut› ja Box‹dyn Fn›;
- lisätty 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 f64» merkin kopioiminen numerosta toiseen;
- Lisätty menetelmä "“, jonka avulla voit tarkistaa, onko määritetty arvo alueella;
- Lisätty menetelmä , jonka avulla voit heijastaa ja erottaa lainatun RefCell-arvon lainattujen tietojen eri osien välillä;
- Lisätty menetelmä korvata nykyinen RefCell-arvo ja palauttaa vanha arvo tuloksena;
- Lisätty menetelmä tiivistää osoittimen tai viittauksen osoitteeseen osoitteen sijaan;
- Lisätty menetelmä 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ä käyttää WebAssemblya selaimen ulkopuolella); - Rust-työkalupakki on mukautettu vakiomuotoiseen C-kirjastoon Musl perustuviin jakeluihin.
Lähde: opennet.ru
