Ukukhululwa kupapashwe Umhlwa 1.96.0 — inguqulelo yamva nje ezinzileyo yolwimi lwenkqubo yeRust. Uhlaziyo lukhutshiwe. 28 Ngama-2026 iminyaka; ingafakelwa kusetyenziswa umyalelo oqhelekileyo we-rustup update stable. Utshintsho oluphambili luquka iintlobo ezintsha ze-range kwi-core::range, ukuzinza kwee-macros ezifanisa iipateni, ukuqina kwendlela yokwenza iWebAssembly, kunye nokulungiswa kweengxaki ezimbini kwiCargo.
Utshintsho olukhulu
Iintlobo ezintsha zoluhlu lwe-core::range::Range*.
Iindidi ezintsha ze-range zizinzile kwilayibrari eqhelekileyo: core::range::Range, RangeFrom, RangeInclusive, kunye nee-iterators ezinxulumene nazo. Ngokungafaniyo neentlobo ezindala ezivela kwi-core::ops, ii-ranges ezintsha azisebenzisi i-Iterator ngokuthe ngqo, kodwa ziguqulwa zibe yi-iterator nge-IntoIterator. Oku kuvumela ezi ntlobo ukuba zikopishwe, nto leyo elula, umzekelo, xa kugcinwa i-range njengentsimi yesakhiwo. I-Syntax efana ne-0..1 okwangoku idala iintlobo ze-range ezindala, kodwa kucetywayo ukuba zifuduselwe kwiintlobo ezintsha kwinguqulelo yexesha elizayo yolwimi.Kongezwe i-assert_matches! kunye ne-debug_assert_matches!.
Iimacro ezintsha zikuvumela ukuba ujonge ukuba ixabiso lihambelana nephethini enikiweyo. Oku kufana nengcamango ye-assert!(matches!(…)), kodwa kwimeko yempazamo, ukubonakaliswa kwe-debug yexabiso kuyaprintwa, okwenza kube lula ukuxilongwa. Ezi macro azongezwanga kwi-Prelude ukuphepha iingxabano neekhreyithi ezidumileyo zomntu wesithathu, ngoko ke kufuneka zingeniswe ngokucacileyo kwi-core okanye kwi-std.Itshintshe indlela ezisebenza ngayo iithagethi zeWebAssembly.
I-Rust ayisayi kudlula kwi-linker ye-WebAssembly builds. Iimpawu ezingachazwanga ngoku ziphathwa njengeempazamo ngexesha lokudibanisa, endaweni yokuba ziguqulwe ngokuzenzekelayo zibe yi-imports ezivela kwi-module "env". Oku kufanele kubambe iimpazamo zokwakha kunye namagama eempawu ezingavumelekanga ngaphambili. Indlela yokuziphatha endala inokubuyiselwa, ukuba kuyimfuneko, kusetyenziswa i-RUSTFLAGS=-Clink-arg=--allow-undefined okanye ngokuchaza ngokucacileyo i-module ye-wasm engenisiweyo kusetyenziswa i-#[link(wasm_import_module = "env")].I-Cargo ifumene ukulungiswa kokhuseleko.
Utshintsho kulwimi.
Ukukhululwa kuquka: Ukulungiswa okuncinci kunye nokuphuculwa okumbalwa: Kuvunyelwe ukudluliselwa kwe-expr metavariables ye-macros kwi-cfg, kulungiswe i-never-type casting kwiintetho ze-tuple, kulungiswe iimeko ezingaqhelekanga ze-inference type hints ezingalunganga zeengxoxo zomsebenzi, kongezwe inkxaso kwiirejista ze-vector ze-s390x kwi-inline assembly, kwaye kuvunyelwe kwakhona ii-ManuallyDrop constants njengeetemplates—oku kulungisa i-regression eyaziswe kwi-Rust 1.94.0.Utshintsho kwi-compiler kunye namaqonga.
kuba LinuxInkxaso yokuphumla kwekhonkco ivulwe kwiithagethi zeLoongArch—ukwenziwa ngcono kokudibanisa okwenza kube lula utshintsho oluthile kunye neefowuni emva kokufakwa kwekhowudi. Kwi-riscv64gc-unknown-fuchsia, uqwalaselo lwesiseko luhlaziywe kwiprofayili ye-RVA22 ngenkxaso yolwandiso lwevektha.Uhlaziyo oluqhelekileyo lwelayibrari.
Inkxaso yokuphindaphinda ngaphezulu kwe-NonZero integer ranges yongezwe. Ukuphathwa ngokucothayo kweedilesi ze-host kwi-SGX nge-ToSocketAddr nako kulungisiwe, kwaye inkcazo yememori "efundekayo/ebhalwe kakuhle" icacisiwe kuxwebhu nakwiikhontrakthi zangaphakathi: i-null pointer isusiwe kwinkcazo ngokubanzi, kwaye iimeko ezingafaniyo ngoku zichazwe ngokwahlukeneyo kwiindlela ezithile.Ii-API ezizinzileyo.
Phakathi kwee-stabilized interfaces kukho i-assert_matches!, debug_assert_matches!, implementations ze-From ye-AssertUnwindSafe , I-LazyCell kunye neLazyLock , kunye neentlobo ezintsha ze-range kunye nee-iterators ezivela kwi-core::range, kuquka i-Range, i-RangeFrom, i-RangeToInclusive kunye nee-iterators zazo.Imithwalo: Utshintsho kwiindlela ezixhomekeke kuzo kunye namaxwebhu.
Ukuxhomekeka ngoku kungachaza zombini indawo yokugcina iGit kunye nerejistri eyahlukileyo: inguqulelo yeGit iya kusetyenziswa kwindawo, kwaye inguqulelo yerejistri iya kusetyenziswa ngexesha lokupapasha, ngendlela efanayo nendlela esebenza ngayo i-crates.io. Inkxaso ye-target.'cfg(..)'.rustdocflags kulungiselelo lweCargo nayo yongezwe.I-Rustdoc ngoku iphatha amaxwebhu ngokuchanekileyo ngakumbi.
Amanqaku e-API alahliweyo ngoku anikezelwa njengoxwebhu oluqhelekileyo, ngaphandle kwenkqubo ekhethekileyo yangaphambili nge-white-space: pre-wrap. Ukongeza, i-rustdoc ayisasebenzisi missing_doc_code_examples kwizinto ezingaphakathi kwe-impl, kwaye iindlela kunye nemisebenzi enxulumeneyo ngoku zahlulwe kwicala elisecaleni loxwebhu.Izinto ezinokwenzeka ezingangqinelaniyo.
Olu khuphelo luqulathe utshintsho oluninzi olunokubonakala kwikhowudi engeyiyo esemgangathweni: uyilo lwee-enum ezithile ze-#[repr(Int)] lulungisiwe kwiimeko ezigqithisileyo, kwaye ezinye ii-casts ezingenamsebenzi ze-unsize kwi-Pin zikhutshaziwe. , I-WebAssembly yakha ngoku iyawa kwiimpawu ezingachazwanga, uphawu lwe-#![reexport_test_harness_main] oluzinziswe ngengozi luphinde lwavalwa, ukhetho lwe--Csoft-float lususiwe, kwaye inguqulelo ye-LLVM yangaphandle encinci yonyuswe ukuya kwi-21. Kwi-AVR, uhlobo lwe-c_double lutshintshiwe lwaba yi-f32, kuba ii-C doubles ziyi-32-bit ngokuzenzekelayo kwezi thagethi.
umthombo: linux.org.ru
