Rust 1.62 Chirongwa Mutauro Kuburitswa

Mutauro wehurongwa hwese-chinangwa Rust 1.62, 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 inopa iyo "add" murairo, iyo inokutendera iwe kuti uwedzere zvitsva zvinotsamira kuCargo.toml manifest kana kushandura zviripo zvinotsamira kubva kumutsara wekuraira. Iwo murairo unobvumidzawo kuti utaure maficha ega ega uye shanduro, semuenzaniso: cargo wedzera serde - maficha anotora cargo add nom@5
  • Yakawedzera kugona kushandisa "#[default(Default)]" ine enum umo iyo yakasarudzika sarudzo inotsanangurwa uchishandisa iyo "#[default]" hunhu. #[kubuda(Default)] enum Pamwe {#[default] Hapana, Chimwe chinhu(T),}
  • Papuratifomu yeLinux, yakawedzera compact uye nekukurumidza kuita kweMutex synchronization mechanism inoshandiswa, zvichibva pakushandiswa kwemafutexes akapihwa neLinux kernel. Kusiyana nekushandiswa kwakamboshandiswa maererano neraibhurari yepthreads, shanduro itsva inoshandisa 5 byte chete pane makumi mana kuchengetedza Mutex state.
  • Yechipiri nhanho yerutsigiro ye x86_64-isingazivikanwe-hapana chinangwa chepuratifomu yaitwa, yakagadzirirwa kuburitsa mafaira anogoneka anogona kushanda pasina sisitimu yekushandisa. Semuyenzaniso, iyo inotarirwa chikuva inogona kushandiswa pakunyora kernel zvikamu. Chikamu chechipiri chekutsigira chinosanganisira vimbiso yegungano.
  • Nhanho yechitatu yerutsigiro yakashandiswa kune aarch64-pc-windows-gnullvm uye x86_64-pc-windows-gnullvm mapuratifomu. Chikamu chechitatu chinosanganisira rutsigiro rwekutanga, asi pasina otomatiki kuyedzwa, kushambadza official kuvaka, kana kutarisa kuti kodhi inogona kuvakwa.
  • Chikamu chitsva cheAPI chakaendeswa kuchikamu cheyakagadzikana, kusanganisira nzira uye mashandisirwo ehunhu zvakadzikamiswa:
    • bool::ipapo_zvimwe
    • f32::zvese_cmp
    • f64::zvese_cmp
    • Stdin::mitsetse
    • windows::CommandExt::raw_arg
    • impl default kukosha kweAssertUnwindSafe
    • Kubva > zveRc
    • Kubva > yeArc<[u8]>
    • FusedIterator yeEncodeWide

    Source: opennet.ru

Voeg