Rust 1.69 Programming Language Release

De algemiene programmeertaal Rust 1.69, oprjochte troch it Mozilla-projekt mar no ûntwikkele ûnder auspysjes fan de ûnôfhinklike non-profit organisaasje Rust Foundation, is frijjûn. De taal rjochtet him op ûnthâld feilichheid en jout de middels te berikken hege baan parallelism wylst it foarkommen fan it brûken fan in garbage collector en runtime (runtime wurdt redusearre ta basis inisjalisaasje en ûnderhâld fan de standert bibleteek).

De metoaden foar ûnthâldbehanneling fan Rust besparje de ûntwikkelder fan flaters by it manipulearjen fan oanwizers en beskermje tsjin problemen dy't ûntsteane troch ûnthâldôfhanneling op leech nivo, lykas tagong krije ta in ûnthâldgebiet nei't it befrijd is, it ferwizen fan nul-oanwizers, buffer-oerrin, ensfh. Om bibleteken te fersprieden, builds te leverjen en ôfhinklikens te behearjen, ûntwikkelet it projekt de Cargo-pakketbehearder. It crates.io repository wurdt stipe foar hosting fan bibleteken.

Unthâld feilichheid wurdt foarsjoen yn Rust op it gearstallen tiid troch referinsje kontrôle, byhâlden fan foarwerp eigendom, byhâlden fan foarwerp lifetimes (omfang), en beoardielje de korrektheid fan ûnthâld tagong by koade útfiering. Rust leveret ek beskerming tsjin oerstreamingen fan heule getal, fereasket ferplichte inisjalisaasje fan fariabele wearden foar gebrûk, behannelet flaters better yn 'e standertbibleteek, tapast standert it konsept fan ûnferoarlike referinsjes en fariabelen, biedt sterke statyske typen om logyske flaters te minimalisearjen.

Wichtichste ynnovaasjes:

  • De Cargo-pakketbehearder ymplementearret de deteksje fan warskôgingen dy't automatysk kinne wurde oplost, en de útfier fan passende oanbefellings foar it útfieren fan "cargo fix" of "cargo clippy -fix". warskôging: net brûkte ymport: 'std::hash::Hash' —> src/main.rs:1:5 | 1 | brûk std::hash::Hash; | ^^^^^^^^^^^^^^^^^ | = notysje: '#[warn(unused_imports)]' op standert warskôging: 'foo' (bin "foo") generearre 1 warskôging (fiere 'cargo fix —bin "foo"' om 1 suggestje oan te passen)
  • Cargo hat in oanbefellingsútfier tafoege foar it brûken fan it kommando "cargo add" as jo besykje in bibleteek te ynstallearjen mei it kommando "cargo install".
  • Om kompilaasjetiid te ferminderjen, is it opnimmen fan debuggenynformaasje yn buildskripts standert stoppe. As de build-skripts mei súkses rinne, sil de feroaring gjin sichtbere ferskillen opleverje, mar as der mislearrings foarkomme, sil de traceback-dump minder ynformaasje befetsje. Om it âlde gedrach werom te jaan nei Cargo.toml moatte jo tafoegje: [profile.dev.build-override] debug = wier [profile.release.build-override] debug = wier
  • In nij diel fan 'e API is ferpleatst nei de kategory stabile, ynklusyf de metoaden en ymplemintaasjes fan eigenskippen binne stabilisearre:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • It attribút "const", dat de mooglikheid bepaalt om it yn elke kontekst te brûken ynstee fan konstanten, wurdt brûkt yn 'e funksjes:
    • SocketAddr :: nij
    • SocketAddr::ip
    • SocketAddr :: poarte
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4 :: nij
    • SocketAddrV4::ip
    • SocketAddrV4 :: poarte
    • SocketAddrV6 :: nij
    • SocketAddrV6::ip
    • SocketAddrV6 :: poarte
    • SocketAddrV6 :: flowinfo
    • SocketAddrV6 :: scope_id
  • De mooglikheid tafoege om wiere en falske flaggen te brûken yn gearstallingsarguminten.

Boarne: opennet.ru

Add a comment