اشاعت شايع ٿي چڪي آهي مورچا 1.96.0 — رسٽ پروگرامنگ ٻولي جو جديد ترين مستحڪم نسخو. اپڊيٽ جاري ڪئي وئي آهي. 28 2026 سال؛ ان کي معياري رسٽ اپ اپڊيٽ اسٽيبل ڪمانڊ استعمال ڪندي انسٽال ڪري سگهجي ٿو. مکيه تبديلين ۾ ڪور:: رينج ۾ نئين رينج جا قسم، پيٽرن ميچنگ ميڪروز جي استحڪام، ويب اسسمبلي بلڊ رويي کي سخت ڪرڻ، ۽ ڪارگو ۾ ٻن ڪمزورين لاءِ اصلاح شامل آهن.
وڏيون تبديليون
نئين رينج جا قسم ڪور::رينج::رينج*.
معياري لائبريري ۾ نون رينج قسمن کي مستحڪم ڪيو ويو آهي: core::range::Range، RangeFrom، RangeInclusive، ۽ انهن سان لاڳاپيل iterators. core::ops مان پراڻين قسمن جي برعڪس، نوان رينج سڌو سنئون Iterator لاڳو نه ڪندا آهن، پر IntoIterator ذريعي هڪ iterator ۾ تبديل ڪيا ويندا آهن. اهو انهن رينجز کي ڪاپي ڪرڻ جي اجازت ڏئي ٿو، جيڪو آسان آهي، مثال طور، جڏهن هڪ رينج کي structure فيلڊ طور محفوظ ڪيو ويندو آهي. 0..1 جهڙو نحو هن وقت پراڻي رينج قسمن کي ٺاهيندو آهي، پر ان کي ٻولي جي مستقبل جي ورزن ۾ نئين قسمن ڏانهن منتقل ڪرڻ جو منصوبو آهي.شامل ڪيا ويا assert_matches! ۽ debug_assert_matches!.
نوان ميڪرو توهان کي اهو جانچڻ جي اجازت ڏين ٿا ته ڪو قدر ڏنل نموني سان ملي ٿو. اهو تصور ۾ ساڳيو آهي جيئن دعويٰ!(ميچز!(…))، پر ڪنهن غلطي جي صورت ۾، قدر جي ڊيبگ نمائندگي پرنٽ ڪئي ويندي آهي، تشخيص کي آسان بڻائيندي. مشهور ٽئين پارٽي ڪريٽس سان تڪرار کان بچڻ لاءِ اهي ميڪرو پريلوڊ ۾ شامل نه ڪيا ويا هئا، تنهن ڪري انهن کي واضح طور تي ڪور يا ايس ٽي ڊي مان درآمد ڪيو وڃي.WebAssembly ٽارگيٽ جي رويي کي تبديل ڪيو.
رسٽ هاڻي ويب اسمبلي بلڊز لاءِ لنڪر ڏانهن --allow-undefined نه ٿو منتقل ڪري. غير وضاحت ٿيل علامتن کي هاڻي لنڪنگ دوران غلطيون سمجهيو ويندو آهي، بجاءِ ان جي ته اهي خودڪار طريقي سان "env" ماڊيول مان درآمد ۾ تبديل ٿين. ان کي اڳ ۾ تعمير جي غلطين ۽ غلط علامتن جي نالن کي پڪڙڻ گهرجي. پراڻي رويي کي واپس ڪري سگهجي ٿو، جيڪڏهن ضرورت هجي، RUSTFLAGS=-Clink-arg=--allow-undefined استعمال ڪندي يا #[link(wasm_import_module = "env")] استعمال ڪندي درآمد ٿيل wasm ماڊيول کي واضح طور تي بيان ڪندي.ڪارگو کي سيڪيورٽي اصلاحات مليون آهن.
ٻوليءَ ۾ تبديليون.
رليز ۾ شامل آهن: ڪيترائي معمولي سڌارا ۽ واڌارا: ميڪروز جي ايڪسپريس ميٽاويريبلز کي سي ايف جي ڏانهن منتقل ڪرڻ جي اجازت، ٽوپل ايڪسپريشن ۾ ڪڏهن به نه ٽائيپ ڪرڻ واري ڪاسٽنگ کي درست ڪيو، فنڪشن دليلن لاءِ غلط قسم جي انفرنس اشارن جي نادر ڪيسن کي درست ڪيو، ان لائن اسيمبلي ۾ s390x ویکٹر رجسٽرز لاءِ سپورٽ شامل ڪئي، ۽ ٽيمپليٽ جي طور تي مينوئل ڊراپ ڪانسٽنٽ کي ٻيهر اجازت ڏني - هي رسٽ 1.94.0 ۾ متعارف ڪرايل ريگريشن کي درست ڪري ٿو.ڪمپائلر ۽ پليٽ فارمن ۾ تبديليون.
لاء Linuxلنڪ ريليڪسيشن سپورٽ کي LoongArch ٽارگيٽس لاءِ فعال ڪيو ويو آهي - هڪ لنڪنگ آپٽمائيزيشن جيڪو ڪوڊ ڊيپلائيمينٽ کان پوءِ ڪجهه ٽرانزيڪشن ۽ ڪالز کي آسان بڻائي ٿو. riscv64gc-unknown-fuchsia لاءِ، بنيادي ترتيب کي ویکٹر ايڪسٽينشن جي سپورٽ سان RVA22 پروفائل ۾ اپڊيٽ ڪيو ويو آهي.معياري لائبريري اپڊيٽس.
نان زيرو انٽيجر رينجز تي ٻيهر ورجائڻ لاءِ سپورٽ شامل ڪئي وئي آهي. ToSocketAddr ذريعي SGX ۾ هوسٽ ايڊريس جي سست هينڊلنگ کي پڻ درست ڪيو ويو آهي، ۽ "پڙهڻ لائق/لکڻ لائق" ميموري جي تعريف دستاويزن ۽ اندروني معاهدن ۾ واضح ڪئي وئي آهي: null پوائنٽر کي عام تعريف مان هٽايو ويو آهي، ۽ استثنا هاڻي مخصوص طريقن لاءِ الڳ الڳ بيان ڪيا ويا آهن.مستحڪم APIs.
مستحڪم انٽرفيس ۾ assert_matches!، debug_assert_matches!، From جا لاڳو ڪرڻ شامل آهن AssertUnwindSafe لاءِ ، ليزي سيل ۽ ليزي لاڪ ، انهي سان گڏ ڪور:: رينج مان نوان رينج قسم ۽ آئٽرٽر، جن ۾ رينج، رينجفرام، رينجٽو انڪلوسيو ۽ انهن جا آئٽرٽر شامل آهن.ڪارگو: انحصار ۽ دستاويزن ۾ تبديليون.
هڪ انحصار هاڻي Git ريپوزٽري ۽ هڪ متبادل رجسٽري ٻنهي کي بيان ڪري سگهي ٿو: Git ورجن مقامي طور تي استعمال ڪيو ويندو، ۽ رجسٽري ورجن اشاعت دوران استعمال ڪيو ويندو، crates.io سان رويي وانگر. ڪارگو ترتيب ۾ target.'cfg(..)'.rustdocflags لاءِ سپورٽ پڻ شامل ڪئي وئي آهي.رسٽڊاڪ هاڻي دستاويزن کي وڌيڪ صحيح طريقي سان سنڀاليندو آهي.
ختم ٿيل API نوٽس هاڻي باقاعده دستاويز جي طور تي پيش ڪيا ويا آهن، وائيٽ اسپيس: پري-ريپ ذريعي پوئين خاص پروسيسنگ کان سواءِ. اضافي طور تي، rustdoc هاڻي impl اندر عنصرن لاءِ missing_doc_code_examples کي لنٽ نٿو ڪري، ۽ طريقا ۽ لاڳاپيل ڪم هاڻي دستاويزي سائڊبار ۾ الڳ ڪيا ويا آهن.ممڪن غير مطابقتون.
رليز ۾ ڪيتريون ئي تبديليون شامل آهن جيڪي غير معياري ڪوڊ ۾ ظاهر ٿي سگهن ٿيون: ڪجهه #[repr(Int)] اينيمز جو لي آئوٽ انتهائي ڪيسن ۾ درست ڪيو ويو آهي، ۽ پن ۾ ڪجهه بيڪار ان سائيز ڪاسٽ کي غير فعال ڪيو ويو آهي. ، WebAssembly بلڊ هاڻي غير وضاحت ٿيل علامتن تي ڪريش ٿين ٿا، حادثاتي طور تي مستحڪم ٿيل #![reexport_test_harness_main] خاصيت کي ٻيهر فيچر گيٽ ڪيو ويو آهي، -Csoft-float آپشن کي هٽايو ويو آهي، ۽ گهٽ ۾ گهٽ خارجي LLVM ورجن کي 21 تائين وڌايو ويو آهي. AVR لاءِ، c_double قسم کي f32 ۾ تبديل ڪيو ويو آهي، ڇاڪاڻ ته C ڊبل انهن هدفن تي ڊفالٽ طور تي 32-bit آهن.
جو ذريعو: linux.org.ru
