Rust 1.69 Chirongwa Mutauro Kuburitswa

Mutauro wehurongwa hwese-chinangwa Rust 1.69, wakavambwa neMozilla purojekiti asi ikozvino wakagadziridzwa pasi perubatsiro rwesangano rakazvimirira rerust Foundation, raburitswa. Mutauro unotarisana nekuchengetedza ndangariro uye unopa nzira dzekuwana yakakwirira basa parallelism uchidzivirira kushandiswa kwemarara uye nguva yekumhanya (nguva yekumhanya inoderedzwa kusvika yekutanga yekutanga uye kugadzirisa raibhurari yakajairwa).

Rust's memory yekubata nzira dzinochengetedza mugadziri kubva mukukanganisa kana achibata anonongedzera uye kudzivirira kubva kumatambudziko anomuka nekuda kweakadzika-level ndangariro kubata, sekuwana nzvimbo yekurangarira mushure mekunge yasunungurwa, kudzoreredza null pointer, buffer overruns, nezvimwe. Kugovera maraibhurari, kupa kuvaka uye kugadzirisa zvinotsamira, purojekiti inovandudza Cargo package maneja. Iyo crates.io repository inotsigirwa kuitisa maraibhurari.

Kuchengetedzwa kwendangariro kunopihwa muRust panguva yekuunganidza kuburikidza nekutariswa kwekutarisa, kuchengeta track yemuridzi wechinhu, kuchengeta track yehupenyu hwechinhu (scopes), uye kuongorora iko kurongeka kwekuwana ndangariro panguva yekuita kodhi. Ngura inopawo dziviriro kubva pahuwandu hwekufashukira, inoda kusungirirwa kwekutanga kwemhando dzakasiyana usati washandiswa, inobata zvikanganiso zviri nani muraibhurari yakajairwa, inoshandisa iyo pfungwa yezvisingachinjiki mareferensi uye zvinosiyana nekusarudzika, inopa yakasimba static typing kuderedza zvikanganiso zvine musoro.

Zvitsva zvikuru:

  • Iyo Cargo package maneja inoshandisa kucherechedzwa kweyambiro iyo inogona kugadziriswa yega uye kurudziro yakakodzera yekumhanyisa "cargo fix" kana "cargo clippy --fix". yambiro: import isina kushandiswa: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | shandisa std::hash::hash; | ^^^^^^^^^^^^^^^^ | = chiziviso: '#[warn(unused_imports)]' on by default yambiro: 'foo' (bin "foo") yakagadzirwa 1 yambiro (mhanya 'cargo fix --bin "foo"' kushandisa 1 zano)
  • Yakawedzerwa Cargo kuratidza kurudziro yekushandisa iyo "cargo wedzera" kuraira paunenge uchiedza kuisa raibhurari ine "cargo install" murairo.
  • Kuti uderedze nguva yekubatanidza, ruzivo rwekugadzirisa muzvinyorwa zvekuvaka rwakadzimwa nekusarudzika. Kana iyo script yekuvaka ichimhanya zvinobudirira, shanduko haizoite chero musiyano unooneka, asi kana ikatadza, iyo backtrace dump ichava neruzivo rushoma. Kudzosera maitiro ekare kuCargo.toml wedzera: [profile.dev.build-override] debug = chokwadi [profile.release.build-override] debug = chokwadi
  • Chikamu chitsva cheAPI chakaendeswa kuchikamu cheyakagadzikana, kusanganisira nzira uye mashandisirwo ehunhu zvakadzikamiswa:
    • CStr::kubva_bytes_kusvika_nul
    • musimboti::ffi::FromBytesUntilNulError
  • Iyo "const" hunhu, iyo inosarudza mukana wekuishandisa mune chero mamiriro pachinzvimbo chezvimiro, inoshandiswa mumabasa:
    • SocketAddr :: itsva
    • SocketAddr ::ip
    • SocketAddr ::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4:: itsva
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6:: itsva
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6 ::flowinfo
    • SocketAddrV6::scope_id
  • Yakawedzera kugona kushandisa mireza yechokwadi neyenhema mucompiler nharo.

Source: opennet.ru

Voeg