Chaidh foillseachadh cĂ nan prògramadh adhbhar coitcheann Rust 1.78, 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. Tha an cĂ nan aâ cuimseachadh air sĂ bhailteachd cuimhne agus aâ toirt seachad dòighean air co-shĂŹnteachd obrach Ă rd a choileanadh fhad âs a tha e aâ seachnadh cleachdadh neach-cruinneachaidh sgudail agus Ăšine ruith (tha Ăšine ruith air a lughdachadh gu toiseach tòiseachaidh agus cumail suas an leabharlann Ă bhaisteach).
Bidh dòighean lĂ imhseachaidh cuimhne Rust aâ sĂ bhaladh an leasaiche bho mhearachdan nuair a bhios iad 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.
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 ainm-Ă ite Ăšr â#[diagnostic]â a ââmholadh, aâ toirt seachad dòigh gus buaidh a thoirt air na teachdaireachdan mearachd a bheir an neach-cruinneachaidh a-mach. Is e aâ chiad fhear san Ă ite Ăšr am feart â#[diagnostic::on_unimplemented]â, a dhâ fhaodar a chleachdadh gus na teachdaireachdan mearachd a chaidh a thilgeil ann an suidheachadh a ghnĂ thachadh far am feum thu feart a chleachdadh nach eil air a chuir an gnĂŹomh airson an t-seòrsa. #[diagnostic::on_unimplemented( message = "Chan eil mo theachdaireachd airson `ImportantTrait <{A}>` air a chur an gnĂŹomh airson `{Fèin}`", label = "Mo leubail", note = "Nòta 1", note = "An aire 2 â)] trait ImportantTrait {} fn use_my_trait(_: impl ImportantTrait ) {} fn prĂŹomh () { use_my_trait(String:: new()); } error[E32]: Am brath agam airson `ImportantTrait `na chur an gnĂŹomh airson `String` -> src/main.rs:0277:32 | 12 | use_my_trait(String:: new()); | ââââ ^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^^^ ^^ ^^^^ ^^ ^^^^ ^^ ^^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' | | riatanach le crĂŹoch a thug aâ ghairm seo a-steach | = help: an trait `ImportantTrait ` chan eil e air a chur an gnĂŹomh airson `String` = nota: Nota 18 = nota: Nota 12
- Faodar sgrĂšdaidhean ro-dhearbhadh a chuirear an sĂ s ann an gnĂŹomhan mĂŹ-shĂ bhailte a-nis a chuir dheth gus an tèid còd a chruthachadh, aâ leigeil leis na sgrĂšdaidhean sin a bhith air an coileanadh gun fheum air an leabharlann Ă bhaisteach a thogail sa mhodh â#[cfg(debug_assertions)]". Gus sgrĂšdaidhean a bhrosnachadh, tha e a-nis gu leòr dearbhaidhean deasbaid a chomasachadh airson togail deuchainn no deasbaid den chòd agad.
- Tha giĂšlan ghnĂŹomhan anns an leabharlann Ă bhaisteach a bheir buaidh air co-thaobhadh comharran agus sliseagan a-nis ro-innseach aig Ă m ruith agus an urra ris an dĂ ta cuir a-steach. Bidh am puing gnĂŹomh:: align_offset, a bhios aâ tomhas aâ chothromachadh gus am puing a cho-thaobhadh, a-nis aâ tilleadh cleachdadh :: MAX a-mhĂ in ma dhâ fhailicheas an t-obrachadh. Bidh na gnĂŹomhan sliseag :: align_to agus slice :: align_to_mut an dĂ chuid, a dh âatharraicheas sliseagan gu riochdachadh le sliseag meadhan co-thaobhadh agus na sliseagan tòiseachaidh is crĂŹochnachaidh tĂšsail, a-nis an-còmhnaidh aâ tilleadh am pĂ irt meadhanach as motha.
- Chaidh na leanas a ghluasad gu roinn seasmhach:
- impl Leugh airson &Stdin
- Leig le cleachdadh beatha neo-statach (neo-statach) airson cuid de std :: error :: GnĂŹomhan co-cheangailte ri mearachd.
- Cur an gnĂŹomh impl ceadaichte an luach ?Sized a chleachdadh.
- impl Bho airson io::Mearachd
- Chaidh an gnĂŹomh Barrier::new() a dhèanamh seasmhach airson a chleachdadh leis aâ bhuadhan âconstâ ann an co-theacs sam bith an Ă ite seasmhach.
- Airson Ă rd-Ăšrlaran targaid x86_64-pc-windows-msvc, i686-pc-windows-msvc, x86_64-pc-windows-gnu, i686-pc-windows-gnu, x86_64-pc-windows-gnullvm agus i686-window-pc a-nis feumach air co-dhiĂš Windows 10 dreach.
- Chaidh an treas ĂŹre de thaic a chuir an gnĂŹomh airson na h-Ă rd-Ăšrlaran wasm32-wasip2, arm64ec-pc-windows-msvc, armv8r-none-eabihf agus loongarch64-unknown-linux-musl. Tha an treas ĂŹre aâ toirt a-steach taic bhunaiteach, ach Ă s aonais deuchainn fèin-ghluasadach, foillseachadh toglaichean oifigeil, no sgrĂšdadh an gabh an còd a thogail.
- Tha an dĂ rna ĂŹre de thaic airson an Ă rd-Ăšrlar targaid Add wasm32-wasip1 air a bhuileachadh. Tha an dĂ rna ĂŹre de thaic aâ toirt a-steach gealltanas co-chruinneachaidh.
- Chaidh an Ă rd-Ăšrlar wasm32-wasi-preview1-threads ath-ainmeachadh gu wasm32-wasip1-threads.
- Chaidh an compiler atharrachadh gu LLVM 18 a chleachdadh. Nuair a bhios tu aâ cleachdadh LLVM 18 airson ailtireachd x86-32 agus x86-64, chaidh an ABI co-cheangailte ris na seòrsaichean u128 agus i128 atharrachadh.
- Ann am manaidsear aonta Cargo, chaidh dreach 4 de fhaidhlichean glasaidh (lockfile v4) a dhèanamh seasmhach.
- Tha tasgadan cruinne seasmhach aig Cargo le fiosrachadh mun chleachdadh dĂ ta as Ăšire. Tha an tasgadan air a chumail ann an $CARGO_HOME/.global-cache aâ cleachdadh SQLite agus tha e air Ăšrachadh gu fèin-obrachail gus na h-atharrachaidhean as Ăšire air aâ chlĂ r-amais, faidhle crate, eòlaire còd, clone git, agus git checkout a nochdadh.
A bharrachd air an sin, bidh cĂ nan prògramadh Borgo aâ feuchainn ri bhith nas brĂŹoghmhor na cĂ nan Go, ach nach eil cho iom-fhillte na cĂ nan Rust. Bidh Borgo a 'toirt còmhla na feartan as fheĂ rr de Go and Rust, a' dèanamh suas airson easbhaidhean gach cĂ nan. Mar eisimpleir, tha Go sĂŹmplidh agus sĂŹmplidh, ach chan eil e aâ toirt seachad feartan sĂ bhailteachd seòrsa adhartach. Tha an cĂ nan Rust aâ toirt seachad innealan airson prògramadh sĂ bhailte, ach tha e ro iom-fhillte. Tha am pròiseact ga leasachadh le Marco Sampellegrini, Ăšghdar The Simple Haskell Handbook agus leasaiche siostam amalachaidh leantainneach Quad CI.

Bidh Borgo aâ cleachdadh clò-sgrĂŹobhadh statach, seòrsaichean coltach ri Go, agus co-chòrdadh coltach ri Rust. Tha semicolons roghainneil aig deireadh loidhnichean ann an còd Borgo. Tha còd Borgo air a chur ri chèile ann an riochdachadh Go a tha gu tur co-chòrdail ris na pacaidean Go a thâ ann mar-thĂ . Tha an còd cruinneachaidh air a sgrĂŹobhadh ann an Rust agus air a chuairteachadh fo chead ISC. cleachd fmt enum NetworkState { Aâ luchdachadh, DhâfhĂ illig (int), Soirbheachas(T), } structar Freagairt { title: string, length: int, } fn main() { let res = Freagairt { title: âHello worldâ, fad: 0, } leig an cèill = Leig NetworkState.Success(res) msg ââ= maids staid { NetworkState.Loading => âfhathast aâ luchdachadhâ, NetworkState.Failed(code) => fmt.Sprintf(âFhuair còd mearachd: %dâ, còd), NetworkState.Success (res) => res.title, } fmt.Println(msg) }
Source: fosgailtenet.ru
