Chaidh foillseachadh cànan prògramadh an t-siostaim Rust 1.56, a chaidh a stèidheachadh le pròiseact Mozilla, ach a chaidh a leasachadh a-nis fo sgèith na buidhne neo-eisimeileach neo-phrothaideach Rust Foundation, fhoillseachadh. A bharrachd air an àireamh dreach cunbhalach, tha an sgaoileadh cuideachd air ainmeachadh mar Rust 2021 agus a’ comharrachadh seasmhachd nan atharrachaidhean a chaidh a mholadh thairis air na trì bliadhna a dh’ fhalbh. Bidh Rust 2021 cuideachd na bhunait airson togail fheartan thairis air na trì bliadhna a tha romhainn, coltach ri mar a tha an sgaoileadh Rust 2018 air a bhith na bhunait airson leasachadh cànain thar nan trì bliadhna a dh’ fhalbh.
Gus co-chòrdalachd a chumail suas, faodaidh luchd-leasachaidh na tagaichean “2015”, “2018”, agus “2021” a chleachdadh anns na prògraman aca gus prògraman a cheangal ri sliseagan stàite cànain a tha a rèir deasachaidhean Rust taghte. Chaidh ath-sgrùdaidhean a thoirt a-steach airson atharrachaidhean neo-fhreagarrach a sgaradh agus tha iad air an rèiteachadh ann am meata-dàta pasganan bathair tron raon “deasachadh” anns an roinn “[pasgan]”. Mar eisimpleir, tha deasachadh 2018 a ’toirt a-steach comas-gnìomh a chaidh a dhèanamh seasmhach aig deireadh 2018 agus cuideachd a’ còmhdach gach atharrachadh san àm ri teachd nach bi a ’dol an aghaidh co-chòrdalachd. Tha deasachadh 2021 cuideachd a’ toirt a-steach feartan briseadh co-chòrdalachd a chaidh a mholadh san fhoillseachadh 1.56 gnàthach agus a chaidh aontachadh airson a bhuileachadh san àm ri teachd. A bharrachd air a’ chànan fhèin, bidh an luchd-deasachaidh cuideachd a’ toirt aire do staid nan innealan agus nan sgrìobhainnean.
Is iad na prìomh neo-fhreagarrachd a chaidh a shuidheachadh ann an Rust 2021:
- Glacadh air leth ann an dùnadh - faodaidh dùnadh a-nis ainmean làraich fa leth a ghlacadh an àite an ID gu lèir. Mar eisimpleir, “|| cha ghlac tuagh + 1 ach "tuagh" an àite "a".
- Leigidh an cumadh IntoIterator airson arrays: array.into_iter() leat aithris a dhèanamh air na h-eileamaidean ann an sreath a rèir luach seach le iomradh.
- Chaidh pròiseasadh abairtean "|" atharrachadh ann am macro_rules (obrachadh loidsigeach OR) ann am pàtrain - Tha an sònrachadh ": pat" ann an maidsean a-nis a’ toirt spèis do phàtranan" A | B".
- Tha am manaidsear pacaid bathair a’ toirt a-steach gu bunaiteach an dàrna dreach den fuasgladh feart, a chaidh taic a thoirt a-steach ann an Rust 1.51.
- Chaidh na feartan TryFrom, TryInto, agus FromIterator a chur ris a’ mhodal leabharlainn àbhaisteach prelude.
- Bidh na macros clisgeadh! (..) agus dearbhaich!(expr, ..) a-nis an-còmhnaidh a’ cleachdadh format_args! (..) gus sreangan a chruth, coltach ri println!().
- Tha na h-abairtean ident#, ident"…" agus ident '…' glèidhte ann an co-chòrdadh a' chànain.
- Chaidh na rabhaidhean lom_trait_objects agus ellipsis_inclusive_range_patterns a ghluasad gu roinn na mearachd.
Ùr ann an Rust 1.56:
- Ann an Cargo.toml, anns an roinn “[pasgan]”, chaidh an raon tionndadh meirge a chuir ris, tron urrainn dhut an dreach as lugha le taic de Rust a dhearbhadh airson a’ phacaid crate. Mura h-eil an dreach làithreach a’ freagairt ris a’ pharameter ainmichte, sguireas Cargo le mearachd.
- Nuair a bhios pàtran a’ maidseadh a’ cleachdadh abairtean “ceangailteach @ pàtran”, tha taic air a thoirt seachad airson ceanglachan a bharrachd a shònrachadh (mar eisimpleir, “let matrix @ Matrix { row_len, .. } = get_matrix ();).
- Chaidh cuibhreann ùr den API a ghluasad chun roinn de stàball, a’ toirt a-steach dòighean agus buileachadh feartan air an socrachadh:
- std :: os :: unix :: fs :: chroot
- UnsafeCell ::raw_get
- BufWriter :: a-steach_pàirtean
- cridhe :: clisgeadh ::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}
- Vec :: shrink_to
- Sreath :: shrink_to
- OsString :: shrink_to
- PathBuf :: shrink_to
- BinaryHeap :: shrink_to
- VecDeque :: shrink_to
- HashMap :: shrink_to
- HashSet :: shrink_to
- Tha am feart “const”, a tha a’ dearbhadh comasachd a chleachdadh ann an co-theacsa sam bith an àite seasmhach, air a chleachdadh ann an gnìomhan
- std:: mem:: transmute
- [T] :: an toiseach
- [T] :: split_first
- [T]:: mu dheireadh
- [T] :: split_last
- Chaidh an compiler atharrachadh gus LLVM dreach 13 a chleachdadh.
- Taic ìre 64 air a chuir an gnìomh airson an àrd-ùrlar aarch32-apple-ios-sim agus taic ìre XNUMX airson na h-àrd-ùrlaran powerpc-unknown-freebsd agus riscvXNUMXimc-esp-espidf. Tha an treas ìre a 'ciallachadh taic bunaiteach, ach às aonais deuchainn fèin-ghluasadach, a' foillseachadh togalaichean oifigeil agus a 'sgrùdadh comas a' chòd a thogail.
Cuimhnich gu bheil cànan Rust ag amas air riaghladh cuimhne sàbhailte, a ’toirt seachad riaghladh cuimhne fèin-ghluasadach, agus a’ toirt seachad dòigh air co-shìnteachd àrd a choileanadh ann an coileanadh obrach, fhad ‘s a tha e a’ dèanamh gun a bhith a ’cleachdadh neach-cruinneachaidh sgudail agus ùine ruith (tha ùine ruith air a lughdachadh gu tòiseachadh bunaiteach agus cumail suas an leabharlann àbhaisteach).
Bidh riaghladh cuimhne fèin-ghluasadach Rust a’ sàbhaladh an leasaiche bho mhearachdan nuair a bhios e a’ làimhseachadh chomharran agus a’ dìon an aghaidh dhuilgheadasan a thig am bàrr mar thoradh air làimhseachadh cuimhne aig ìre ìosal, leithid faighinn gu raon cuimhne às deidh dha a bhith air a shaoradh, a’ toirt iomradh air comharran null, cus bufair, msaa. Gus leabharlannan a sgaoileadh, togail a thoirt seachad agus eisimeileachd a riaghladh, bidh am pròiseact a’ leasachadh manaidsear pacaid Cargo. Tha an stòr crates.io a’ faighinn taic airson aoigheachd a thoirt do leabharlannan.
Source: fosgailtenet.ru