De útjefte is publisearre Roest 1.96.0 — de lêste stabile ferzje fan 'e programmeartaal Rust. De update is frijjûn. 28 mei 2026 jier; it kin ynstalleare wurde mei it standert rustup update stable kommando. De wichtichste feroarings omfetsje nije beriktypen yn core::range, stabilisaasje fan patroanmatching makro's, it oanskerpen fan WebAssembly-bougedrach, en reparaasjes foar twa kwetsberheden yn Cargo.
Grutte feroarings
Nije beriktypen core::range::Range*.
Nije beriktypen binne stabilisearre yn 'e standertbibleteek: core::range::Range, RangeFrom, RangeInclusive, en harren assosjearre iterators. Oars as de âlde typen fan core::ops, ymplementearje de nije beriken Iterator net direkt, mar wurde se konvertearre nei in iterator fia IntoIterator. Dit makket it mooglik om dizze beriken te kopiearjen, wat handich is, bygelyks by it opslaan fan in berik as in struktuerfjild. Syntaksis lykas 0..1 makket op it stuit de âlde beriktypen oan, mar it is pland om te migrearjen nei de nije typen yn in takomstige ferzje fan 'e taal.Tafoege assert_matches! en debug_assert_matches!.
Mei nije makro's kinne jo kontrolearje oft in wearde oerienkomt mei in bepaald patroan. Dit is yn konsept fergelykber mei assert!(matches!(…)), mar yn gefal fan in flater wurdt in debug-werjefte fan 'e wearde printe, wat de diagnoaze ferienfâldiget. Dizze makro's binne net tafoege oan Prelude om konflikten mei populêre kratten fan tredden te foarkommen, dus se moatte eksplisyt ymportearre wurde fanút core of std.It gedrach fan WebAssembly-doelen feroare.
Rust jout --allow-undefined net mear troch oan de linker foar WebAssembly-builds. Undefiniearre symboalen wurde no behannele as flaters by it keppeljen, ynstee fan automatysk te wurden konvertearre nei ymporten fan 'e "env"-module. Dit moat earder buildflaters en ûnjildige symboalnammen opfange. It âlde gedrach kin weromdraaid wurde, as it nedich is, mei RUSTFLAGS=-Clink-arg=--allow-undefined of troch de ymportearre wasm-module eksplisyt te spesifisearjen mei #[link(wasm_import_module = "env")].Cargo hat feiligensreparaasjes krigen.
Feroarings yn taal.
De útjefte befettet: In oantal lytse reparaasjes en ferbetterings: Tastien it trochjaan fan expr-metafariabelen fan makro's nei cfg, korrizjeare nea-type casting yn tuple-útdrukkingen, reparearre seldsume gefallen fan ferkearde type-inferinsjehints foar funksjearguminten, tafoege stipe foar s390x-vektorregisters yn inline-assembly, en opnij tastien ManuallyDrop-konstanten as sjabloanen - dit reparearret in regresje yntrodusearre yn Rust 1.94.0.Feroarings yn compiler en platfoarms.
foar LinuxStipe foar keppelingsrelaksaasje is ynskeakele foar LoongArch-doelen - in keppelingsoptimalisaasje dy't guon oergongen en oprop ferienfâldiget nei it ynsetten fan koade. Foar riscv64gc-unknown-fuchsia is de basiskonfiguraasje bywurke nei it RVA22-profyl mei stipe foar fektorútwreidings.Standert bibleteekupdates.
Stipe foar it iterearjen oer net-nul-hielgetallenberiken is tafoege. Luie ôfhanneling fan hostadressen yn SGX fia ToSocketAddr is ek reparearre, en de definysje fan "lêsber/skriuwber" ûnthâld is ferdúdlike yn 'e dokumintaasje en ynterne kontrakten: de nul-oanwizer is fuorthelle út 'e algemiene definysje, en útsûnderingen wurde no apart oantsjutte foar spesifike metoaden.Stabilisearre API's.
Under de stabilisearre ynterfaces binne assert_matches!, debug_assert_matches!, ymplemintaasjes fan From foar AssertUnwindSafe , LazyCell en LazyLock , lykas nije beriktypen en iterators fan core::range, ynklusyf Range, RangeFrom, RangeToInclusive en harren iterators.Cargo: Wizigingen oan ôfhinklikheden en dokumintaasje.
In ôfhinklikens kin no sawol in Git-repository as in alternatyf register oantsjutte: de Git-ferzje sil lokaal brûkt wurde, en de registerferzje sil brûkt wurde by it publisearjen, fergelykber mei it gedrach mei crates.io. Stipe foar target.'cfg(..)'.rustdocflags yn 'e Cargo-konfiguraasje is ek tafoege.Rustdoc behannelet no dokumintaasje krekter.
Ferâldere API-notysjes wurde no werjûn as gewoane dokumintaasje, sûnder de foarige spesjale ferwurking fia wytromte: pre-wrap. Derneist lint rustdoc net langer missing_doc_code_examples foar eleminten binnen impl, en metoaden en assosjearre funksjes binne no skieden yn 'e sydbalke fan' e dokumintaasje.Mooglike ynkompatibiliteiten.
De release befettet ferskate feroarings dy't miskien ferskine yn net-standert koade: de yndieling fan guon #[repr(Int)] enums is yn ekstreme gefallen reparearre, en guon nutteleaze unsize casts yn Pin binne útskeakele. , WebAssembly-builds crashe no op ûndefiniearre symboalen, it per ongelok stabilisearre #![reexport_test_harness_main]-attribuut is opnij funksje-gated, de -Csoft-float-opsje is fuorthelle, en de minimale eksterne LLVM-ferzje is ferhege nei 21. Foar AVR is it c_double-type feroare nei f32, om't C-doubles standert 32-bit binne op dizze doelen.
Boarne: linux.org.ru
