Programmeerimiskeele Rust 1.69 väljaandmine

Üksikasjad on avaldatud üldotstarbeline programmeerimiskeel Rust 1.69, mis põhineb Mozilla projektisel ja mida arendab praegu sõltumatu mittetulundusühing Rust Foundation. Keel keskendub mälukaitsele ning pakub vahendeid ülesannete kõrge paralleelsuse saavutamiseks, ilma et oleks vaja prügikoristajat ja runtime'i (runtime koondub põhiinitsialiseerimisele ja standardraamatukogu toetamisele).

Rustis olevad mäluhaldusmeetodid vabastavad arendajad probleemidest, mis on seotud osutitega, ning kaitsevad madala taseme mälutöötlusest tulenevate probleemide, nagu vabanenud mälu alale juurdepääs, nullosutite de-referentseerimine, mälupiiride ületamine jne. Raamatukogude levitamiseks, projekti koostamise ja sõltuvuste haldamiseks arendatakse pakihaldurit Cargo. Raamatukogude paigutamiseks toetatakse repo crates.io.

Rust tagab turvalise mälutöötluse kompilatsiooni ajal, kontrollides viiteid, jälgides objektide omandit, arvestades objektide elutsüklit (nähtavust) ja hinnates mälule juurdepääsu õigsust koodi käitamise ajal. Rust pakub ka meetmeid enamike täisarvude ületamiste vältimiseks, nõuab muutujate väärtuste algväärtustamist enne kasutamist, käsitleb vigasid paremini oma standardraamatukogus, rakendab immutamatuse (immutable) kontseptsiooni viidetes ja muutujates vaikimisi ning pakub tugevat staatilist tüüpimist loogiliste vigade minimeerimiseks.

Põhilised uuendused:

  • Paketihalduris Cargo on rakendatud hoiatuste tuvastamine, mida saab automaatselt kõrvaldada, ja vastavate soovituste väljavõte käivitamiseks „cargo fix” või „cargo clippy --fix”. warning: kasutamata import: ‘std::hash::Hash’ —> src/main.rs:1:5 | 1 | use std::hash::Hash; | ^^^^^^^^^^^^^^^ | = märkus: ‘#[warn(unused_imports)]’ on vaikimisi warning: ‘foo’ (bin «foo») genereeris 1 hoiatuse (käivita ‘cargo fix --bin «foo»' et rakendada 1 ettepanek)
  • Cargo on lisatud soovitus kasutada käsku „cargo add” teegi paigaldamisel käsuga „cargo install”.
  • Kompileerimisaega lühendamiseks on vaikimisi peatatud silumise teabe sissetoomine kogumise skriptidesse. Kogumise skriptide eduka täitmise korral ei muutu midagi nähtaval viisil, kuid tõrgete korral sisaldab tagasipööramisväljakutsega dump vähem teavet. Vana käitumise taastamiseks tuleb Cargo.toml faili lisada: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • Stabiilsete versioonide hulka on lisatud uus komplekt API-sid, sealhulgas on stabiliseeritud meetodid ja tüüpide rakendused:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • Konstantse märgendiga `const`, mis määrab võimaluse kasutada konstandina igas kontekstis, on rakendatud funktsioonides:
    • SocketAddr::new
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::new
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6::new
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Lisatud on võimalus kasutada kompilatsiooni argumentides lippusid true ja false.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster