Mwepụta asụsụ mmemme nchara 1.55

Ntọhapụ nke asụsụ mmemme usoro Rust 1.55, nke Mozilla ngo tọrọ ntọala, ma ugbu a, nke e mepụtara n'okpuru nkwado nke otu nọọrọ onwe ya na-abụghị uru Rust Foundation, ka ebipụtara. Asụsụ a na-elekwasị anya na nchekwa ebe nchekwa, na-enye njikwa ebe nchekwa akpaka, ma na-enye ụzọ iji nweta nnukwu ọrụ myirịta na-ejighi ihe mkpofu ahịhịa ma ọ bụ oge ịgba ọsọ (oge ọ na-agba ọsọ na-ebelata ka ọ bụrụ mmalite na nhazi nke ọba akwụkwọ ọkọlọtọ).

Njikwa ebe nchekwa akpaka nke Rust na-ewepụ njehie mgbe ị na-emegharị ihe nrịbama ma na-echebe megide nsogbu na-esite na ngbanwe ebe nchekwa dị ala, dị ka ịnweta mpaghara ebe nchekwa mgbe a tọhapụrụ ya, nkwụsị pointer null, buffer overruns, wdg. Iji kesaa ọba akwụkwọ, hụ na mgbakọ na jikwaa dabere, ọrụ a na-emepe emepe njikwa ngwugwu Cargo. A na-akwado ebe nchekwa crates.io maka ọba akwụkwọ nnabata.

Isi ihe ọhụrụ:

  • Onye njikwa ngwungwu Cargo nwere ikike ijikọ mperi na ịdọ aka ná ntị na-eme n'oge a na-ewu ụlọ. Mgbe ị na-eme iwu dị ka "nnwale ibu" na "nyocha ibu --all-targets" nke na-ebute ọtụtụ ngwungwu nwere parampat dị iche iche, a na-egosi onye ọrụ ugbu a nchịkọta nke ọnọdụ nke nsogbu ugboro ugboro, kama igosi ya. ọtụtụ ịdọ aka ná ntị yiri ya mgbe ị na-ewu otu ihe ugboro ugboro. $ cargo +1.55.0 check —all- targets Atule foo v0.1.0 ịdọ aka ná ntị: a naghị eji ọrụ eme ihe: 'foo' —> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = ndetu: '#[ dọrọ aka ná ntị (dead_code)]' site na ịdọ aka ná ntị ndabara: 'foo' (lib) mepụtara ịdọ aka ná ntị ịdọ aka ná ntị 1: 'foo' (nnwale lib) mepụtara ịdọ aka ná ntị 1 (1 oyiri) Emechala dev [unoptimized + debuginfo] lekwasịrị anya (s) na 0.84s
  • Koodu nlegharị anya na-ese n'elu mmiri dị n'ọbá akwụkwọ ọkọlọtọ ka ebulila iji Eisel-Lemire algọridim ngwa ngwa na nke ziri ezi, bụ nke edozila nsogbu ụfọdụ achọpụtala na mbụ na nchikota na ọnụọgụ ọnụọgụ nwere ọnụọgụ dị ukwuu.
  • Edozila ikike ịkọwa nsonso emechighị emechi na ndebiri (“X..” ka a tụgharịrị ya dị ka oke na-amalite na uru X wee mechie na oke uru nke ụdị integer): match x as u32 { 0 => println! ("efu!"), 1.. => println!("nọmba ezi!"), }
  • Esemokwu dị iche iche nke njehie kpuchiri std :: io :: ErrorKind (na-ekewa njehie n'ime otu dị ka NotFound na WouldBlock). Na mbụ, mperi ndị na-adabaghị na ngalaba dị adị dabara na ErrorKind:: Atiya ọzọ, nke ejirikwa maka mperi na koodu ndị ọzọ. E nwere ugbu a dị iche iche ime ErrorKind :: Uncategorized Atiya maka njehie ndị na-adabaghị na ndị dị adị, na ErrorKind :: Otu ọzọ na-ejedebeghị na njehie na-adịghị eme na ọkọlọtọ ọba akwụkwọ (ọkọlọtọ ọba akwụkwọ ọrụ na-alaghachi io :: Error). Ejikwaghị ErrorKind:: Atiya Ọzọ).
  • 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:
    • Kechie:: cloned
    • igbapu :: as_str
    • N'imeInnerError :: n'ime_njehie
    • N'imeInnerError:: n'ime_akụkụ
    • MaybeUninit :: were_init_mut
    • MaybeUninit :: were_init_ref
    • Enwere ike Uninit:: dee
    • nhazi :: map
    • ops :: ControlFlow
    • x86 :: _bit
    • x86 :: _bittes na-emeju
    • x86 :: _bittestandreset
    • x86 :: _bittestandset
    • x86_64 :: _bittest64
    • x86_64 :: _bittesstand mmeju64
    • x86_64 :: _bittestandreset64
    • x86_64 :: _bittesandset64
  • Àgwà “const” ahụ, nke na-ekpebi ohere nke iji ya n'ọnọdụ ọ bụla kama ịnọchite anya, na-eji na str:: fromm_utf8_unchecked method.
  • Emejuputala ọkwa nkwado nke atọ maka ikpo okwu powerpc64le-unknown-freebsd. Ọ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ụ.

isi: opennet.ru

Tinye a comment