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
