Foillseachadh Rust 1.95. A’ cur Rust ris an fhrithealaiche taisbeanaidh Mir. Anailisiche trafaic AyaFlow ann an Rust.

Chaidh cànan prògramaidh Rust 1.95, a chaidh a stèidheachadh leis a’ phròiseact Mozilla ach a chaidh a leasachadh a-nis fo sgèith a’ bhuidheann neo-eisimeileach neo-phrothaideach Rust Foundation, fhoillseachadh. Tha an cànan ag amas air sàbhailteachd cuimhne agus a’ toirt seachad innealan airson co-shìnteachd àrd a choileanadh ann an coileanadh ghnìomhan, agus aig an aon àm a’ dèanamh às aonais inneal-cruinneachaidh sgudail agus ùine ruith (tha an ùine ruith air a lùghdachadh gu tòiseachadh bunaiteach agus cumail suas na leabharlainn àbhaisteach).

Tha modhan riaghlaidh cuimhne Rust air an dealbhadh gus mearachdan ann an làimhseachadh chomharran a thoirt air falbh agus gus dìon an aghaidh chùisean a tha ag èirigh bho riaghladh cuimhne aig ìre ìosal, leithid faighinn gu cuimhne às deidh dhi a bhith air a saoradh, a’ dì-iomradh chomharran neoni, cus ruith bufair, agus mar sin air adhart. Tha am pròiseact a’ leasachadh manaidsear pacaid Cargo gus leabharlannan a sgaoileadh, togail a dhèanamh nas fhasa, agus eisimeileachdan a riaghladh. Tha an stòr-tasgaidh crates.io air a chumail suas airson leabharlannan a chumail.

Tha sàbhailteachd cuimhne air a thoirt seachad ann an Rust aig àm cruinneachaidh tro sgrùdadh iomraidh, cumail sùil air seilbh nithean, cumail sùil air beatha nithean (scopes), agus measadh dè cho ceart ‘s a tha ruigsinneachd cuimhne rè coileanadh còd. Bidh Rust cuideachd a’ toirt dìon an aghaidh thar-shruthan iomlan, a’ feumachdainn luachan caochlaideach a thòiseachadh mus tèid an cleachdadh, a’ làimhseachadh mhearachdan nas fheàrr san leabharlann àbhaisteach, a’ cur an gnìomh bun-bheachd iomraidhean neo-sheasmhach agus caochladairean gu bunaiteach, a’ tabhann clò-sgrìobhadh làidir statach gus mearachdan loidsigeach a lughdachadh.

PrĂŹomh innleachdan:

  • Chaidh am macro "cfg_select!" a chur ris, a ghabhas cleachdadh an Ă ite a’ phacaid "cfg-if" gus iomadh suidheachadh co-chruinneachaidh a lĂ imhseachadh ann an stoidhle bloc "match", gun sreath de chumhaichean a mhĂŹneachadh leis an togail "#[cfg]". cfg_select! { unix => { fn foo() { /* unix */ } } target_pointer_width = "32" => { fn foo() { /* neo-unix, 32-bit */ } } _ => { fn foo() { /* chan eil e unix agus chan eil e 32-bit */ } } }
  • Chaidh an comas abairtean "if let" a shònrachadh taobh a-staigh blocaichean "match" gus maidseadh phĂ tran cumhach a chruthachadh a dhèanamh seasmhach. Roimhe seo, chaidh taic airson iomadh abairt "let" a shònrachadh a’ cleachdadh an obraiche "&&" a dhèanamh seasmhach airson blocaichean "if" agus "while". match value { Some(x) if let Ok(y) = compute(x) => { println!("{}, {}", x, y); } _ => {} }
  • Taic co-chruinneachaidh in-loidhne seasmhach airson ailtireachd PowerPC agus PowerPC64.
  • Chaidh cuibhreann Ăšr den API a ghluasad chun roinn de stĂ ball, a’ toirt a-steach dòighean agus buileachadh feartan air an socrachadh:
    • Is dòchaUninit<[T; N]>: Bho<[Is dòchaUninit ; N]>
    • Is dòchaAonaich<[T; N]>: MarRef<[Is dòchaAonaich ; N]>
    • Is dòchaAonaich<[T; N]>: MarRef<[Is dòchaAonaich ]>
    • Is dòchaAonaich<[T; N]>: Mar a thaMut<[Is dòchaAonaich ; N]>
    • Is dòchaAonaich<[T; N]>: Mar a thaMut<[Is dòchaAonaich ]>
    • Is dòcha Uninit ; N]: Bho
    • Cealla<[T; N]>: MarRef<[Cealla ; N]>
    • Cealla<[T; N]>: MarRef<[Cealla ]>
    • Cealla<[T]>: MarRef<[Cealla ]>
    • bool: FeuchBho<{iomlan}>
    • AtomicPtr::Ăšrachadh
    • AtomicPtr::try_update
    • AtomicBool::Ăšrachadh
    • AtomicBool::feuch_Ăšrachadh
    • AtomicIn::update
    • AtomicIn::try_update
    • AtomicUn::Ăšrachadh
    • AtomicUn::try_update
    • cfg_tagh!
    • cridhe mod::raon
    • core::range::RangeInclusive
    • cridhe :: raon ::RangeInclusiveIter
    • cridhe::hint::slighe_fuar
    • <*const T>::as_ref_unchecked
    • <*mut T>::as_ref_unchecked
    • <*mut T>::as_mut_unchecked
    • Vec::put_mut
    • Vec::cuir_a-steach_mut
    • VecDeque::put_front_mut
    • VecDeque::put_back_mut
    • VecDeque::insert_mut
    • LinkedList::put_front_mut
    • LinkedList::put_back_mut
    • Layout::dangling_ptr
    • Cruth::ath-aithris
    • Layout::repeat_packed
    • Layout::extend_packed
  • Tha an soidhne “const” air a chleachdadh ann an gnĂŹomhan:
    • fmt::bho_fn
    • ControlFlow::is_break
    • ControlFlow::is_continue
  • Ann an dreachan seasmhach den t-sreath innealan, chaidh taic airson sònrachaidhean Ă rd-Ăšrlar targaid dĂšthchasach a thoirt don cho-chruinneadair a thoirt air falbh.
  • Chaidh na h-Ă rd-Ăšrlaran targaid powerpc64-unknown-linux-musl, aarch64-apple-tvos, aarch64-apple-tvos-sim, aarch64-apple-watchos, aarch64-apple-watchos-sim, aarch64-apple-visionos, agus aarch64-apple-visionos-sim a ghluasad gu ĂŹre taic 2, a tha a’ toirt a-steach gealltanas togail ach gun ghealltanas pasaidh ann an sreath deuchainn.

A bharrachd air sin, bu mhath leinn pròiseactan agus tachartasan a chaidh ainmeachadh o chionn ghoirid co-cheangailte ri Rust a shoilleireachadh:

  • Tha Canonical air frithealaiche taisbeanaidh Mir 2.26 a thoirt a-steach, a bheir seachad seata de leabharlannan airson ĂŹomhaighean co-dhèanta a chruthachadh. frithealaichean Stèidhichte air pròtacal Wayland agus a’ toirt a-steach gnĂŹomhachd Ă bhaisteach manaidsearan uinneagan agus frithealaichean taisbeanaidh, thathas a’ cleachdadh Mir ann am pròiseactan leithid manaidsear co-dhèanamh Miracle, slige bothan lĂŹn, agus Ubuntu Àrainneachd luchd-cleachdaidh Frame agus Miriway.

    Tha an sgaoileadh ùr seo ainmeil airson a bhith a’ cur ris a’ chomas co-phàirtean a leasachadh ann an Rust. Chaidh fo-shiostam riaghlaidh cuir-a-steach eile, evdev-rs, a chur an gnìomh ann an Rust, agus tha obair air tòiseachadh air aghaidh-aghaidh stèidhichte air Rust, wayland-rs, airson Wayland. Am measg nan atharrachaidhean nach eil co-cheangailte ri Rust ann am Mir tha taic do phròtacalan Wayland ext_image_copy_capture_v1 agus input-triggers.

  • Chaidh a’ chiad fhoillseachadh den inneal-anailis trafaic ayaFlow, sgrĂŹobhte ann an Rust agus a’ cleachdadh fo-shiostam an eithne, fhoillseachadh. Linux eBPF airson pacaidean lĂŹonra (IPv4/TCP/UDP) agus frèamaichean Ethernet a ghlacadh le glè bheag de bhuaidh air coileanadh. Tha e a’ toirt taic do sgrĂšdadh domhainn air protocolaidhean ĂŹre-iarrtais (L7), leithid a bhith a’ toirt a-mach ceistean TLS SNI agus DNS nuair a thathar a’ dèanamh anailis air trafaic crioptaichte. Bidh an siostam a’ cumail clĂ r den staid ceangail lĂ ithreach ann an cruth DashMap, a’ stòradh eachdraidh ann an SQLite, agus a’ tilleadh staitistig tro REST API gu Prometheus.
  • Chaidh a’ chomas tagraidhean ioma-shnĂ thaichte a chruthachadh sa chĂ nan Rust a’ cleachdadh gnĂŹomhan std::thread agus an cur an gnĂŹomh air taobh an GPU a chur an gnĂŹomh.

Source: fosgailtenet.ru

Ceannaich aoigheachd earbsach airson làraich le dìon DDoS, frithealaichean VPS VDS 🔥 Ceannaich aoigheachd làrach-lìn earbsach le dìon DDoS, frithealaichean VPS VDS | ProHoster