Rust 1.69 forritunarmálsútgáfa

Útgáfa Rust 1.69 almennt forritunarmálsins, stofnað af Mozilla verkefninu, en nú þróað undir merkjum óháðu sjálfseignarstofnunarinnar Rust Foundation, hefur verið gefin út. Tungumálið leggur áherslu á minnisöryggi og veitir leiðina til að ná mikilli samhliða vinnu á sama tíma og forðast notkun á sorphirðu og keyrslutíma (keyrslutími minnkar í grunnuppsetningu og viðhald á venjulegu bókasafni).

Minni meðhöndlunaraðferðir Rust bjarga þróunaraðilanum frá villum við meðhöndlun ábendinga og vernda gegn vandamálum sem koma upp vegna minnis meðhöndlunar á lágu stigi, eins og aðgangur að minnissvæði eftir að það hefur verið losað, frávísun núllbenda, offramkeyrsla á biðminni o.s.frv. Til að dreifa bókasöfnum, útvega smíði og stjórna ósjálfstæði, þróar verkefnið farmpakkastjórann. Crates.io geymslan er studd til að hýsa bókasöfn.

Minni öryggi er veitt í Rust á þýðingu tíma með tilvísun athugun, halda utan um eignarhald hlut, halda utan um líftíma hlut (umfang) og meta réttmæti minni aðgangs meðan kóða er keyrt. Ryð veitir einnig vernd gegn heiltöluflæði, krefst skyldubundinnar frumstillingar breytugilda fyrir notkun, meðhöndlar villur betur í stöðluðu bókasafni, beitir hugmyndinni um óbreytanlegar tilvísanir og breytur sjálfgefið, býður upp á sterka truflanir innsláttar til að lágmarka rökfræðilegar villur.

Helstu nýjungar:

  • Farmpakkastjórinn útfærir greiningu á viðvörunum sem hægt er að leysa sjálfkrafa og viðeigandi ráðleggingar um að keyra "cargo fix" eða "cargo clippy --fix". viðvörun: ónotaður innflutningur: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | notaðu std::hash::hash; | ^^^^^^^^^^^^^^^^ | = athugið: '#[warn(unused_imports)]' er sjálfgefin viðvörun: 'foo' (bin "foo") bjó til 1 viðvörun (keyrðu 'cargo fix --bin "foo"' til að beita 1 tillögu)
  • Bætt við farm til að birta tilmæli um að nota "cargo add" skipunina þegar reynt er að setja upp bókasafn með "cargo install" skipuninni.
  • Til að draga úr samantektartíma hefur sjálfgefið verið slökkt á villuleitarupplýsingum í byggingarforskriftum. Ef smíðaforskriftirnar keyra með góðum árangri mun breytingin ekki skipta neinum sýnilegum breytingum, en ef hún mistekst mun bakrakningarafritið innihalda minni upplýsingar. Til að skila gömlu hegðuninni á Cargo.toml skaltu bæta við: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • Nýr hluti af API hefur verið færður í flokkinn stöðugt, þar með talið aðferðir og útfærslur á eiginleikum hafa verið stöðugar:
    • CStr::from_bytes_until_nul
    • kjarni::ffi::FromBytesUntilNulError
  • "const" eigindin, sem ákvarðar möguleikann á að nota hann í hvaða samhengi sem er í stað fasta, er notaður í föllum:
    • SocketAddr::nýtt
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::nýtt
    • SocketAddrV4::ip
    • SocketAddrV4 :: tengi
    • SocketAddrV6::nýtt
    • SocketAddrV6::ip
    • SocketAddrV6 :: tengi
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Bætti við möguleikanum á að nota satt og ósatt fána í þýðandaröksemdum.

Heimild: opennet.ru

Bæta við athugasemd