مستحڪم "async" فنڪشن، async move {... } block، ۽ ".await" آپريٽر جي بنياد تي هڪ نئون اسيئنڪرونس پروگرامنگ نحو، جيڪو هينڊلر لکڻ آسان بڻائي ٿو جيڪي مين ڪمانڊ فلو کي بلاڪ نٿا ڪن. اڳ ۾ پيش ڪيل API جي مقابلي ۾ asyncronous I/O لاءِ، async/.await تعميرات سمجھڻ لاءِ سادو، تمام پڙھڻ لائق، ۽ توھان کي لوپ، مشروط بيانن، ۽ استثناءَ جي بنياد تي واقف فلو ڪنٽرول ٽيڪنڪ استعمال ڪندي پيچيده اسيئنڪرونس رابطي کي لاڳو ڪرڻ جي اجازت ڏين ٿا.
Async-await نحو توهان کي فنڪشن ٺاهڻ جي اجازت ڏئي ٿو جيڪي انهن جي عملدرآمد کي روڪي سگهن ٿا، ڪنٽرول کي مکيه سلسلي ڏانهن واپس آڻين، ۽ پوء ٻيهر عمل شروع ڪري سگھن ٿا جتان اهي ڇڏي ويا آهن. مثال طور، I/O کي پروسيس ڪرڻ وقت اهڙي روڪ جي ضرورت هوندي آهي، جنهن ۾ ڊيٽا جي ايندڙ حصي جي اچڻ جي انتظار ۾ ٻيو ڪم ڪري سگهجي ٿو. "async fn" ۽ "async move" سان بيان ڪيل ڪم ۽ بلاڪ هڪ خاصيت واپس ڪن ٿا مستقبل، جيڪو هڪ ملتوي غير مطابقت واري حساب جي نمائندگي کي بيان ڪري ٿو. توھان سڌي طرح شروع ڪري سگھو ٿا ملتوي ڪيل حساب ۽ نتيجو حاصل ڪري ”.await“ آپريٽر استعمال ڪندي. ڪا به ڪارروائي نه ڪئي وئي آهي يا اڳ ۾ رٿابندي ڪئي وئي آهي جيستائين .await سڏيو وڃي ٿو، اضافي اوور هيڊ کان سواءِ پيچيده nested تعميرات کي ٺاهڻ جي اجازت ڏئي ٿو.
fn لين (
#[cfg(ونڊوز)] سلائس: &[u16]، // ونڊوز تي پيٽرول استعمال ڪريو
#[cfg(not(windows))] سلائس: &[u8]، // ٻين او ايس ۾ استعمال ڪريو
) -> استعمال ڪريو {
slice.len()
}
NLL (Non-Lexical Lifetimes) ٽيڪنڪ استعمال ڪندي متغيرن جي قرضن جي جانچ ڪرڻ دوران مسئلن جي نشاندهي ڪرڻ بابت خبرداريون (قرض چيڪ ڪندڙ)، ترجمو موتمار غلطين جي درجي ۾. اچو ته ياد رکون ته تصديق واري نظام جي بنياد تي هڪ نئين ميکانيزم جي بنياد تي قرضن جي متغيرن جي زندگيءَ کي مدنظر رکندي ڪجهه مسئلن جي نشاندهي ڪرڻ ممڪن بڻائي ٿي، جيڪي پراڻي تصديق واري ڪوڊ کان اڻڄاڻ هئا. جيئن ته اهڙين چيڪن لاءِ غلطي جي پيداوار اڳئين ڪم ڪندڙ ڪوڊ سان مطابقت کي متاثر ڪري سگهي ٿي، ڊيڄاريندڙ شروعاتي طور تي غلطين جي بدران جاري ڪيا ويا. ڊيڄاريندڙن کي هاڻي غلطي سان تبديل ڪيو ويو آهي جڏهن Rust 2018 موڊ ۾ هلندي. ايندڙ رليز ۾، غلطي جي پيداوار پڻ لاڳو ڪئي ويندي Rust 2015 موڊ ۾، جيڪو آخرڪار پراڻي قرض جي چڪاس کان نجات حاصل ڪندو.
"const" وصف، جيڪو مستقل جي بدران ڪنهن به حوالي سان استعمال ڪرڻ جي امڪان کي طئي ڪري ٿو، ڪم لاء استعمال ڪيو ويندو آهي Vec::new، String::new، LinkedList::new، str::len، [T]::len str::as_bytes،
abs, wrapping_abs ۽ overflowing_abs؛
APIs جو ھڪڙو نئون حصو مستحڪم درجي ڏانھن منتقل ڪيو ويو آھي، جن ۾ طريقا شامل آھن جيڪي مستحڪم ڪيا ويا آھن
Pin::into_inner، Instant::checked_duration_since ۽ Instant::saturating_duration_since؛
ڪارگو پيڪيج مئنيجر کي هاڻي استعمال ڪرڻ جي صلاحيت آهي “.toml” ايڪسٽينشن کي ترتيب ڏيڻ واري فائلن لاءِ. شامل ڪيل ابتدائي سپورٽ معياري لائبريري جي تعمير لاءِ سڌو ڪارگو کان. شامل ڪيو ويو "--workspace" جھنڊو، تڪراري "--all" پرچم کي تبديل ڪندي. ميٽاڊيٽا ۾ هڪ نئون ميدان شامل ڪيو ويو آهي "شايع ڪريو"، جيڪو توهان کي گٽ ٽيگ ۽ ورزن نمبر جي وضاحت ڪندي انحصار شايع ڪرڻ جي اجازت ڏئي ٿو. شامل ڪيل ٽيسٽ آپشن "-Ztimings" مختلف تاليف جي مرحلن جي عمل جي وقت جي HTML رپورٽ تيار ڪرڻ لاءِ.
rustc compiler ۾، تشخيصي پيغامن ۾ ڪوڊ جي دم کي تراشڻ شامل آهي جيڪو ٽرمينل ۾ نه ٿو اچي. ھدف جي پليٽ فارمن لاء مدد جي ٽئين سطح مهيا ڪئي
i686-unknown-uefi ۽ sparc64-اڻڄاتل-اوپن بي ايس ڊي. ٽئين سطح ۾ بنيادي مدد شامل آهي، پر سرڪاري عمارتن جي خودڪار جاچ ۽ اشاعت کان سواء.