Rust 1.55 Chirongwa Mutauro Kuburitswa

Kuburitswa kweiyo system programming mutauro Rust 1.55, yakavambwa neMozilla purojekiti, asi iko zvino yakagadziridzwa pasi pekutsigirwa kwesangano rakazvimirira rerust Foundation, raburitswa. Mutauro unotarisana nekuchengetedza ndangariro, unopa otomatiki ndangariro manejimendi, uye inopa nzira dzekuwana yakakwira basa parallelism pasina kushandisa muunganidzi wemarara kana nguva yekumhanya (nguva yekumhanya inoderedzwa kuita yekutanga yekutanga uye kugadzirisa raibhurari yakajairwa).

Rust's otomatiki ndangariro manejimendi inobvisa zvikanganiso kana ichishandisa anongedza uye inodzivirira kubva kune yakaderera-level memory manipulation, sekuwana nzvimbo yekurangarira mushure mekunge yasunungurwa, null pointer dereferences, buffer overruns, nezvimwe. Kugovera maraibhurari, kuve nechokwadi kuungana uye kugadzirisa zvinotsamira, chirongwa ichi chiri kugadzira Cargo package maneja. Iyo crates.io repository inotsigirwa kuitisa maraibhurari.

Zvitsva zvikuru:

  • Iyo Cargo package maneja ine kugona kusanganisa zvakapetwa zvikanganiso uye yambiro zvinoitika panguva yekuvaka. Pakuita mirairo yakadai se "cargo test" uye "cargo check --all-targets" izvo zvinoita kuti pasuru yezvivakwa zvakawanda zvine ma parameter akasiyana, mushandisi anoratidzwa pfupiso yekuitika kwedambudziko rinodzokororwa, pachinzvimbo chekuratidzwa. yambiro dzakafanana kana uchivaka chinhu chimwe chete kakawanda. faira. $ cargo +1.55.0 tarisa -zvese-zvakananga Kutarisa foo v0.1.0 yambiro: basa harina kumboshandiswa: 'foo' β€”> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = chiziviso: '#[warn(dead_code)]' on by default yambiro: 'foo' (lib) yakagadzira yambiro imwe chete: 'foo' (lib test) yakagadzira yambiro imwe (1 duplicate) Yapedza dev [unoptimized + debuginfo] chinangwa (s)mu1s
  • Iyo inoyangarara yekodhi kodhi muraibhurari yakajairwa yakafambiswa kuti ishandise inokurumidza uye yakanyatsojeka Eisel-Lemire algorithm, iyo yakagadzirisa mamwe matambudziko akamboonekwa nekutenderedza uye kuparadzanisa nhamba nenhamba huru kwazvo yemanhamba.
  • Kukwanisa kutsanangura mitsara isina kuvharwa mumatemplate yakagadziriswa ("X.." inodudzirwa seyero inotanga nehuwandu X uye inopera nehuwandu hwehuwandu hwehuwandu hwemhando): match x se u32 {0 => println! ("zero!"), 1.. => println!("nhamba yakanaka!"), }
  • Yakawedzera kukanganisa kwakavharwa ne std::io::ErrorKind (inoisa kukanganisa muzvikamu zvakaita seNotFound uye WouldBlock). Kare, zvikanganiso zvaisakwana muzvikamu zvaivepo zvakawira muErrorKind::Chimwe chikamu, icho chaishandiswawo kukanganisa mune yechitatu-party code. Ikozvino kwave nechikamu chemukati chakaparadzana ErrorKind::Isina kupatsanurwa kune zvikanganiso zvisingaenderane muzvikamu zviripo, uye ErrorKind::Rimwe danho rinogumira pakukanganisa kusingaitiki muraibhurari yemazuva ese (standard library library inodzoka io::Error. hauchashandisi ErrorKind :: chikamu Zvimwe).
  • Chikamu chitsva cheAPI chakaendeswa kuchikamu cheyakagadzikana, kusanganisira nzira uye mashandisirwo ehunhu zvakadzikamiswa:
    • Yakasungwa ::yakagadzirwa
    • Drain::as_str
    • IntoInnerError::into_error
    • IntoInnerError::mu_zvikamu
    • PamweUninit::assume_init_mut
    • PamweUninit::funga_init_ref
    • PamweUninit ::nyora
    • array::map
    • ops::ControlFlow
    • x86::_bitest
    • x86::_bittestandcomplement
    • x86::_bittestandreset
    • x86::_bittestandset
    • x86_64::_bittest64
    • x86_64::_bittestandcomplement64
    • x86_64::_bittestandreset64
    • x86_64::_bittestandset64
  • Iyo "const" hunhu, iyo inosarudza mukana wekuishandisa mune chero mamiriro pachinzvimbo chezvisingaperi, inoshandiswa mune iyo str::kubva_utf8_unchecked nzira.
  • Iyo yechitatu nhanho yerutsigiro yakaitirwa iyo powerpc64le-isingazivikanwe-freebsd chikuva. Chikamu chechitatu chinosanganisira rutsigiro rwekutanga, asi pasina otomatiki kuyedzwa, kushambadza official kuvaka, kana kutarisa kuti kodhi inogona kuvakwa.

Source: opennet.ru

Voeg