Mwepụta asụsụ mmemme nchara 1.60

Mwepụta nke asụsụ mmemme izugbe nke Rust 1.60, nke ọrụ Mozilla hiwere, mana nke emepụtara ugbu a n'okpuru nkwado nke otu nọọrọ onwe ya na-abụghị uru Rust Foundation, ka ebipụtala. Asụsụ ahụ na-elekwasị anya na nchekwa nchekwa ma na-enye ụzọ iji nweta ọrụ dị elu na parallelism ma na-ezere iji onye na-ekpofu ihe mkpofu na oge ịgba ọsọ (oge ọ na-agba ọsọ na-ebelata ka ọ bụrụ mmalite na nhazi nke ọbá akwụkwọ ọkọlọtọ).

Ụzọ ijikwa ebe nchekwa rust na-azọpụta onye nrụpụta site na njehie mgbe ị na-emegharị ihe nrịbama ma chebe onwe ya pụọ ​​​​na nsogbu ndị na-ebilite n'ihi njikwa ebe nchekwa dị ala, dị ka ịnweta ebe nchekwa mgbe a tọhapụrụ ya, iwepụ pointers null, buffer overruns, wdg. Iji kesaa ọba akwụkwọ, nye ihe na-ewuli elu ma jikwaa ịdabere, ọrụ ahụ na-emepụta onye njikwa ngwugwu Cargo. A na-akwado ebe nchekwa crates.io maka ọba akwụkwọ nnabata.

A na-enye nchekwa nchekwa na nchara n'oge a na-achịkọta site na ntụle ntụnye aka, idobe usoro nwe ihe, idobe oge ndụ ihe (scopes), na ịlele izi ezi nke ịnweta ebe nchekwa n'oge mmebe koodu. Nchara na-enyekwa nchebe pụọ na integer njupụta, na-achọ mmalite mmalite nke ụkpụrụ agbanwe agbanwe tupu eji ya, na-edozi njehie nke ọma n'ọbá akwụkwọ ọkọlọtọ, na-etinye echiche nke ntụgharị na mgbanwe na-adịghị agbanwe agbanwe na ndabara, na-enye akara static siri ike iji belata njehie ezi uche dị na ya.

Isi ihe ọhụrụ:

  • Onye nchịkọta rustc nwere sistemu LLVM kwụsiri ike maka iwepụta data mkpuchi ejiri iji nyochaa mkpuchi koodu n'oge ule. Iji mee ka data mkpuchi dị n'oge mgbakọ, ị ga-eji ọkọlọtọ "-Cinstrument-coverage", dịka ọmụmaatụ, malite mgbakọ ahụ site na iwu "RUSTFLAGS=" -C instrument-coverage" cargo build. Mgbe ịmechara faịlụ executable achịkọtara n'ụzọ dị otú a, a ga-echekwa faịlụ default.profraw na ndekọ dị ugbu a, maka nhazi nke ị nwere ike iji lvm-profdata utility sitere na akụkụ lvm-tools-preview . Enwere ike ịfefe mmepụta nke llvm-profdata na lvm-cov iji mepụta mkpesa mkpuchi koodu edeputara. A na-ewepụta ozi gbasara njikọ na koodu isi mmalite site na faịlụ a na-enyocha, nke gụnyere data dị mkpa gbasara njikọ dị n'etiti mkpuchi mkpuchi na koodu. 1| 1|fn isi() {2| 1| println! ("Ndewo, ụwa!"); 3| 1|}
  • N'ime njikwa ngwugwu ibu, nkwado maka ọkọlọtọ "-times" kwadoro, nke gụnyere ọgbọ nke akụkọ zuru ezu banyere ọganihu nke ụlọ na oge igbu oge nke ọ bụla. Akụkọ ahụ nwere ike ịba uru maka ịkwalite arụmọrụ nke usoro mgbakọ ahụ.
  • Onye njikwa ngwugwu ibu na-enye syntax ọhụrụ maka usoro nchịkọta ọnọdụ na nhọrọ nke ịdabere na nhọrọ, ahaziri na faịlụ Cargo.toml site na ịdepụta ndepụta aha aha na ngalaba [atụmatụ] ma rụọ ọrụ site n'ịkwado ihe onwunwe n'oge ngwugwu ngwugwu. na-eji ọkọlọtọ "--atụmatụ". Ụdị ọhụrụ ahụ na-agbakwụnye nkwado maka ndabere na oghere aha dị iche iche yana ndabere adịghị ike.

    N'okwu nke mbụ, ọ ga-ekwe omume iji ihe nwere prefix "dep:" n'ime ngalaba "[atụmatụ]" iji jikọta n'ụzọ doro anya na ndabere nhọrọ na-enweghị n'ezoghị ọnụ na-anọchi anya ndabere a dịka njirimara. N'okwu nke abụọ, agbakwunyela nkwado maka iji akara "?" ("ngwugwu-aha?/feature-aha") ndabere nhọrọ nke ekwesịrị ịgụnye naanị ma ọ bụrụ na ihe onwunwe ọzọ gụnyere ndabere nhọrọ enyere. Dịka ọmụmaatụ, n'ihe atụ dị n'okpuru ebe a, ime ka ihe onwunwe serde nwee ike ịkwado "serde", yana ihe onwunwe "serde" maka ịdabere na "rgb", ma ọ bụrụ na agbanyere ịdabere na "rgb" n'ebe ọzọ: [ndabere] serde = {ụdị = " 1.0.133", nhọrọ = ezi } rgb = {ụdị = "0.8.25", nhọrọ = ezi } [atụmatụ] serde = ["dep: serde", "rgb?/serde"]

  • Nkwado maka mkpokọta agbakwunyere, nke nwere nkwarụ na ntọhapụ ikpeazụ, eweghachila. E doziela mpe mpe akwa nke butere njirimara ahụ.
  • E doziri nsogbu ụfọdụ site na ịnye ndị ngụ oge ozugbo na nkwa nke oge monotonic, nke na-eburu n'uche oge sistemụ ahụ ji na ọnọdụ ụra. Na mbụ, a na-eji OS API mgbe ọ bụla o kwere mee iji rụọ ọrụ ngụ oge, nke na-adịghị eburu n'uche ọnọdụ nsogbu na-agbaji oge, dị ka nsogbu ngwaike, ojiji nke virtualization, ma ọ bụ njehie na sistemụ arụmọrụ.
  • Atụgharịla akụkụ ọhụrụ nke API n'ụdị nke kwụsiri ike, gụnyere ụzọ na mmejuputa omume nke ejiri mesie ike:
    • Arc :: new_cyclic
    • Rc :: new_cyclic
    • iberi :: EscapeAscii
    • <[u8]>:: Escape_ascii
    • u8:: Escape_ascii
    • Vec :: spare_capacity_mut
    • MaybeUninit :: were_init_drop
    • MaybeUninit :: were_init_agụ
    • i8 :: abs_diff
    • i16 :: abs_diff
    • i32 :: abs_diff
    • i64 :: abs_diff
    • i128 :: abs_diff
    • isi:: abs_diff
    • u8:: abs_diff
    • u16:: abs_diff
    • u32:: abs_diff
    • u64:: abs_diff
    • u128:: abs_diff
    • jiri:: abs_diff
    • Ngosipụta maka io :: ErrorKind
    • Site maka ExitCode
    • Ọ bụghị maka! (ụdị "mgbe ọ bụla")
    • _Op_Nyekwa <$t>
    • arch:: is_aarch64_feature_chọpụtara!
  • Emejuputala ọkwa nkwado nke atọ maka nyiwe mips64-openwrt-linux-musl* na armv7-unknown-linux-uclibceabi (softfloat). Ọkwa nke atọ gụnyere nkwado bụ isi, mana na-enweghị nnwale akpaaka, na-ewu ụlọ ọrụ na-ebipụta, ma ọ bụ lelee ma enwere ike iwu koodu ahụ.
  • Agbanyela onye nchịkọta ka ọ jiri LLVM 14.

Ọzọkwa, ị nwere ike ịhụ:

  • Nkwado agbakwunyere maka bootstrapping rustc compiler site na iji rustc_codegen_gcc backend, nke na-enye gị ohere iji ọbá akwụkwọ libgccjit sitere na ọrụ GCC dị ka onye na-emepụta koodu na rustc, nke na-enye ohere rustc inye nkwado maka architectures na njikarịcha dị na GCC. Nkwalite mkpokọta pụtara ikike iji ihe nrụpụta koodu dabere na GCC na rustc iji wuo rustc compiler n'onwe ya. N'akụkụ bara uru, njirimara a na-enye gị ohere ịmepụta mmemme nchara maka ụlọ ndị a na-akwadobughị na rustc.
  • Ntọhapụ nke uutils coreutils 0.0.13 Toolkit dị, n'ime nke a na-emepụta ihe analog nke ngwugwu GNU Coreutils, nke edegharịrị n'asụsụ Rust. Coreutils nwere ihe karịrị otu narị ngwa, gụnyere ụdị, pusi, chmod, chown, chroot, cp, ụbọchị, dd, echo, aha nnabata, id, ln, na ls. Ebumnuche nke oru ngo a bụ imepụta usoro mmejuputa ọzọ nke Coreutils, nke nwere ike ịgba ọsọ na nyiwe Windows, Redox na Fuchsia, yana nkesa n'okpuru ikike MIT na-enye ohere, kama ịbụ ikike nwebiisinka GPL.

    Ụdị ọhụrụ a emelitela mmejuputa iwu nke ọtụtụ akụrụngwa, gụnyere ndakọrịta nke cp, dd, df, nkewa na tr utilities ha na ndị otu ha sitere na ọrụ GNU. Enyere akwụkwọ ntanetị. A na-eji clap parser na-atụgharị arụmụka ahịrị iwu, nke mere ka mmepụta maka ọkọlọtọ "--help" ma gbakwunyere nkwado maka ndebiri nke iwu ogologo (dịka ọmụmaatụ, ị nwere ike ịkọwa "ls -col" kama "ls -color". ”).

isi: opennet.ru

Tinye a comment