Mwepụta asụsụ mmemme nchara 1.80

Mwepụta nke asụsụ mmemme izugbe nke Rust 1.80, 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ụ:

  • Ihe arụrụ LazyCell na LazyLock agbakwunyere nke na-enye gị ohere ibugharị mmalite data ruo mgbe nnweta mbụ (a na-akpọ ọrụ mbido mgbe ị na-achọ ịnweta uru). LazyLock dị iche na LazyCell n'ịkwado ụlọ ọrụ mmekọrịta maka ojiji na koodu ọtụtụ eriri. jiri std :: mmekọrịta :: LazyLock; jiri std :: oge ​​:: ozugbo; static LAZY_TIME: LazyLock = LazyLock :: ọhụrụ (Ozugbo :: ugbu a); fn main () {ka malite = Ngwa ngwa :: ugbu a (); std :: eriri :: scope (| s | { s.spawn (|| println! ("Oge umengwụ bụ {:?}", LAZY_TIME.duration_since (mmalite));}); println! oge bụ {:?}", LAZY_TIME.duration_since(mmalite)); }
  • Onye nchịkọta rustc emeela ka nhọrọ "-check-cfg", nke a na-eji na njikwa ngwugwu iji lelee aha na ụkpụrụ niile akọwapụtara site na cfg, gụnyere aha sitere na Cargo.toml. fn main () {println! ("Ndewo, ụwa!"); #[cfg (atụmatụ = "crayon")] rayon :: sonyere ( || println! ("Ndewo, Ihe Otu!"), || println! ("Ndewo, Ihe Abụọ!"),); } ịdọ aka ná ntị: uru ọnọdụ `cfg` a na-atụghị anya ya: `crayon` —> src/main.rs:4:11 | 4 | #[cfg(atụmatụ = "crayon")] | ^^^^^^^^^——— | | | enyemaka: enwere uru a na-atụ anya ya nwere aha yiri ya: `»rayon»`
  • Template na-enye ohere ka akọwapụta oke n'ụdị "a..b" na "..b", nke yiri iji okwu Range na RangeTo. pub fn size_prefix(n: u32) -> &'static str {const K: u32 = 10u32.pow (3); const M: u32 = 10u32.pow (6); const G: u32 = 10u32.pow (9); match n { ..K => "", K..M => "k", M..G => "M", G.. => "G", } }
  • 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:
    • impl ndabara maka Rc
    • impl ndabara maka Rc
    • impl ndabara maka Rc<[T]>
    • impl Dabara maka Arc
    • impl Dabara maka Arc
    • impl Default maka Arc<[T]>
    • impl IntoIterator maka Igbe <[T]>
    • impl FromIterator maka Igbe
    • impl FromIterator maka Igbe
    • LazyCell
    • LazyLock
    • Ogologo oge :: div_duration_f32
    • Ogologo oge :: div_duration_f64
    • Nhọrọ:: were_if
    • Chọọ:: chọọ_ ikwu
    • BinaryHeap :: asslice
    • NonNull :: kwụsịrị
    • NonNull:: byte_offset
    • NonNull:: tinye
    • NonNull:: byte_add
    • NonNull:: sub
    • NonNull:: byte_sub
    • NonNull ::offset_si
    • NonNull ::byte_offset_si
    • NonNull:: gụọ
    • NonNull :: read_volatile
    • NonNull ::agụ_unaligned
    • NonNull:: dee
    • NonNull:: dee_na-agbanwe agbanwe
    • NonNull:: dee_adịghị edozi
    • NonNull:: dee_bytes
    • NonNull:: copy_to
    • NonNull :: copy_to_nonoverlapping
    • NonNull :: copy_site na
    • NonNull :: copy_from_nonoverlapping
    • NonNull:: dochie
    • NonNull:: gbanwere
    • NonNull:: dobe_in_place
    • NonNull ::align_offset
    • <[T]>:: kewaa_na_elele
    • <[T]>:: kewaa_na_mut_checked
    • str :: kewaa_na_chekwa
    • str :: kewaa_na_mut_checked
    • str :: trim_ascii
    • str :: trim_ascii_mbido
    • str :: trim_ascii_end
    • <[u8]>:: trim_ascii
    • <[u8]>:: trim_ascii_start
    • <[u8]>:: trim_ascii_end
    • IPv4Addr :: BITS
    • IPv4Addr :: na-bits
    • IPv4Addr :: site na_bits
    • IPv6Addr :: BITS
    • IPv6Addr :: na-bits
    • IPv6Addr :: site na_bits
    • Vec::<[T; N]>> :: n'ime_flatten
    • <[T; N]]>:: dị ka_etuchara
    • <[T; N]]>:: as_flattened_mut
  • A na-eji àgwà "const", nke na-ekpebi ohere iji ya mee ihe n'ọnọdụ ọ bụla kama ịdịgidesi ike, na ọrụ:
    • <[T] :: ikpeazụ_chunk
    • BinaryHeap:: ọhụrụ
  • Emejuputala ọkwa nkwado nke atọ maka ikpo okwu x86_64-unknown-linux-none. Ọ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

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster