Rust 1.69 ohjelmointikielen julkaisu

Yleiskäyttöinen ohjelmointikieli Rust 1.69, joka on perustettu Mozilla-projektilla, mutta nyt kehitetty riippumattoman voittoa tavoittelemattoman järjestön Rust Foundationin alaisuudessa, on julkaistu. Kieli keskittyy muistin turvallisuuteen ja tarjoaa välineet korkean työn rinnakkaisuuden saavuttamiseen välttäen samalla roskankeräimen ja ajonajan käyttöä (ajoaika rajoittuu vakiokirjaston perusalustukseen ja ylläpitoon).

Rustin muistinkäsittelymenetelmät säästävät kehittäjää virheiltä osoittimia käsiteltäessä ja suojaavat ongelmilta, jotka johtuvat matalan tason muistin käsittelystä, kuten muistialueen käyttäminen sen vapauttamisen jälkeen, nollaosoittimien viittauksen poistaminen, puskurin ylitykset jne. Kirjastojen jakelua, koontiversioiden tarjoamista ja riippuvuuksien hallintaa varten projekti kehittää Cargo-pakettien hallintaa. Crates.io-tietovarastoa tuetaan kirjastojen isännöintiin.

Muistin turvallisuutta tarjotaan Rustissa käännöshetkellä referenssitarkistuksen, objektin omistajuuden, objektien eliniän (laajuuden) kirjaamisen ja muistin käytön oikeellisuuden arvioimisen avulla koodin suorittamisen aikana. Ruoste tarjoaa myös suojan kokonaislukujen ylivuodoilta, vaatii muuttujien arvojen pakollisen alustamisen ennen käyttöä, käsittelee virheet paremmin standardikirjastossa, soveltaa oletusarvoisesti muuttumattomien viitteiden ja muuttujien käsitettä, tarjoaa vahvan staattisen kirjoittamisen loogisten virheiden minimoimiseksi.

Tärkeimmät innovaatiot:

  • Cargo-paketinhallinta tunnistaa nyt automaattisesti ratkaistavat varoitukset ja suosittelee vastaavasti komennon "cargo fix" tai "cargo clippy --fix" suorittamista. warning: unused import: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | use std::hash::Hash; | ^^^^^^^^^^^^^^^^^^ | = note: '#[warn(unused_imports)]' on by default warning: 'foo' (bin "foo") generoi 1 varoituksen (suorita 'cargo fix --bin "foo"' käyttääksesi 1 ehdotusta)
  • Cargo näyttää nyt suosituksen käyttää "cargo add" -komentoa, kun kirjastoa yritetään asentaa "cargo install" -komennolla.
  • Käännösaikojen lyhentämiseksi virheenkorjaustiedot rakennusskripteissä on oletusarvoisesti poistettu käytöstä. Tämä muutos ei aiheuta näkyviä eroja rakennusskriptien onnistuneen suorittamisen yhteydessä, mutta virheiden sattuessa jäljitysvedos sisältää vähemmän tietoa. Voit palata aiempaan toimintaan lisäämällä Cargo.toml-tiedostoon seuraavan: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • Uusi osa API:sta on siirretty vakaan luokkaan, mukaan lukien ominaisuuksien menetelmät ja toteutukset on vakautettu:
    • CStr::from_bytes_until_nul
    • ydin::ffi::FromBytesUntilNulError
  • "const"-attribuuttia, joka määrittää mahdollisuuden käyttää missä tahansa kontekstissa vakioiden sijaan, käytetään funktioissa:
    • SocketAddr::uusi
    • SocketAddr::ip
    • SocketAddr::portti
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::uusi
    • SocketAddrV4::ip
    • SocketAddrV4::portti
    • SocketAddrV6::uusi
    • SocketAddrV6::ip
    • SocketAddrV6::portti
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Lisätty mahdollisuus käyttää true- ja false-lippuja kääntäjän argumenteissa.

Lähde: opennet.ru

Lisää kommentti