Mwepụta asụsụ mmemme nchara 1.34

mere mwepụta asụsụ mmemme sistemụ Nchara 1.34, nke Mozilla rụpụtara. Asụsụ a na-elekwasị anya na nchekwa ebe nchekwa, na-enye njikwa ebe nchekwa akpaka, ma na-enye ụzọ iji nweta ọrụ dị elu na-enweghị iji ihe mkpofu ma ọ bụ oge ịgba ọsọ.

Njikwa ebe nchekwa akpaghị aka nke Rust na-ahapụ onye nrụpụta na ntule ntụaka ma na-echebekwa pụọ ​​na nsogbu na-esite na ngbanwe ebe nchekwa dị ala, dị ka ịnweta ebe nchekwa anaghị akwụghị ụgwọ, ndebiri pointer null, buffer overruns, na ihe ndị ọzọ. A na-emepụta onye njikwa ngwugwu iji kesaa ọba akwụkwọ, hụ na mgbakọ na jikwaa ndabere site na ọrụ ahụ. ibu, na-enye gị ohere ịnweta ụlọ akwụkwọ ndị achọrọ maka mmemme ahụ n'otu pịa. A na-akwado ebe nchekwa iji kwado ọba akwụkwọ crates.io.

Main ihe ọhụrụ:

  • Onye njikwa ngwugwu Cargo agbakwunyela ngwaọrụ iji rụọ ọrụ na ndebanye aha ngwugwu ọzọ nwere ike ibikọ ọnụ na ndekọ ọha crates.io. Dịka ọmụmaatụ, ndị na-emepụta ngwa nwe nwere ike iji ndekọ nke onwe ha, nke enwere ike iji mee ihe mgbe ị na-edepụta ihe ndabere na Cargo.toml, ma tinye ụdị nsụgharị yiri crates.io maka ngwaahịa ha, yana na-ezo aka dabere na crates abụọ. io na ndekọ aha gị.

    Iji tinye ndekọ mpụga na .cargo/config (nke dị na $HOME ma ọ bụ na ndekọ ngwugwu)
    enyere ngalaba "[ndebanye aha]", na iji ndekọ mpụga, nhọrọ "ndebanye aha" apụtala na nkọwa nke ndabere ọ bụla na Cargo.toml. Iji jikọọ na ndekọ ọzọ, tinye naanị akara ngosi na faịlụ ~/.cargo/credentials wee mee iwu ahụ.
    "cargo login --registry=my-registry" na ibipụta ngwugwu -
    "ebuga mbipụta -registry=my-ndebanye aha";

  • Agbakwunyere nkwado zuru oke maka iji onye ọrụ “?”. na ule dọkịta, na-enye gị ohere iji koodu atụ sitere na akwụkwọ dị ka ule. Onye ọrụ mbụ
    "?" enwere ike iji dozie njehie n'oge a na-eme ule naanị n'ihu ọrụ "fn main ()" ma ọ bụ na ọrụ "#[test]";

  • Na njiri mara omenala akọwara site na iji usoro macro enyere ikike iji usoro akara aka aka ike (“#[attr ($ tokens)]”, “#[attr[$tokens]] na #[attr{$tokens}]”). Na mbụ, naanị ihe nwere ike ịkọwapụta naanị n'ụdị osisi / recursive site na iji eriri nkịtị, dịka ọmụmaatụ “#[foo(bar, baz(quux, foo = “bar”))]”, mana ugbu a enwere ike iji ọnụọgụgụ (' #[oke (0. .10)]') na ihe owuwu dịka "#[bound(T: MyTrait)]";
  • Ụdị kwụsiri ike (àgwà) Gbalịa si и Gbalịa banye, na-enye ohere mgbanwe ụdị na njikwa njehie. Dịka ọmụmaatụ, usoro dị ka from_be_bytes nwere ụdị integer na-eji arrays dị ka ntinye, mana data na-abịakarị n'ụdị Mpekere, na ịtụgharị n'etiti arrays na mpekere bụ nsogbu iji aka mee. Site n'enyemaka nke àgwà ọhụrụ, enwere ike ịrụ ọrụ ahụ akọwapụtara na ofufe site na oku na-aga .try_into (), dịka ọmụmaatụ, "let num = u32 :: from_be_bytes(slice.try_into ()?)". Maka ntụgharị na-aga nke ọma mgbe niile (dịka ọmụmaatụ, site na ụdị u8 ruo u32), agbakwunyela ụdị njehie Enweghi ike, na-enye ohere uzo eji eme ihe
    Gbalịa si maka mmemme niile dị na "Si";

  • Akwụsịla ọrụ CommandExt :: tupu_exec, nke kwere ka e gbuo onye njikwa tupu ọ na-agba ọsọ exec, bụ nke e gburu n'ọnọdụ nke usoro nwatakịrị a na-atụgharị mgbe ndụdụ (). N'okpuru ọnọdụ ndị dị otú ahụ, ụfọdụ ihe onwunwe nke usoro nne na nna, dị ka ndị na-akọwa faịlụ na ebe nchekwa mapụtara, nwere ike ịmegharị ya, nke nwere ike iduga n'omume na-akọwaghị na arụ ọrụ na-ezighị ezi nke ụlọ akwụkwọ.
    A na-atụ aro ka iji ọrụ na-adịghị ize ndụ kama tupu_exec CommandExt :: pre_exec.

  • Ụdị integer atọm mbinye aka kwụsiri ike na nke enweghị mbinye aka sitere na nha site na 8 ruo 64 (dịka ọmụmaatụ, AtomicU8), yana ụdị aka Enweghị ZeroI[8|16|32|64|128].
  • Ebugharịla akụkụ ọhụrụ nke API gaa na ngalaba kwụsiri ike, gụnyere Ọ bụla :: ụdị_id, Error :: ụdị_id, iberi :: ụdị_by_cached_key, str :: Escape_*, str :: Split_ascii_whitespace, Ozugbo :: checkcked_[gbakwunye|sub] ] na usoro SystemTime ka edoziela :: checkcked_[gbakwunye | sub]. The iter :: from_fn na iter :: ọrụ ndị na-aga nke ọma ka edozila;
  • Maka ụdị integer niile, a na-emejuputa usoro checked_pow, saturating_pow, wrapping_pow na overflowing_pow;
  • Agbakwunyere ikike iji mee ka njikarịcha na ọkwa njikọ site na ịkọwapụta nhọrọ iwu “-C linker-plugin-lto”.

isi: opennet.ru

Tinye a comment