Rust 1.62 پروگرامنگ ٻولي رليز

رسٽ 1.62 عام مقصدي پروگرامنگ ٻولي جو رليز، جيڪو Mozilla پروجيڪٽ پاران قائم ڪيو ويو، پر ھاڻي ترقي يافته غير منافع بخش تنظيم Rust Foundation جي سرپرستي ھيٺ، شايع ڪيو ويو آھي. ٻولي ميموري جي حفاظت تي ڌيان ڏئي ٿي ۽ گاربيج ڪليڪٽر ۽ رن ٽائم جي استعمال کان پاسو ڪندي اعليٰ نوڪري جي برابري حاصل ڪرڻ جا وسيلا مهيا ڪري ٿي (رن ٽائم کي معياري لائبريري جي بنيادي شروعات ۽ سار سنڀال لاءِ گھٽ ڪيو ويو آهي).

رسٽ جي ميموري هينڊلنگ جا طريقا ڊولپر کي غلطين کان بچائيندا آهن جڏهن پوائنٽرز کي هٿي وٺرائيندا آهن ۽ انهن مسئلن کان بچائيندا آهن جيڪي گهٽ-سطح جي ميموري هينڊلنگ جي ڪري پيدا ٿيندا آهن، جهڙوڪ ميموري ايريا کي آزاد ٿيڻ کان پوءِ رسائي حاصل ڪرڻ، نول پوائنٽرز کي رد ڪرڻ، بفر اووررن وغيره وغيره. لائبريرين کي ورهائڻ، تعميرات مهيا ڪرڻ ۽ انحصار کي منظم ڪرڻ، پروجيڪٽ ڪارگو پيڪيج مينيجر کي ترقي ڪري ٿو. crates.io مخزن لائبريرين جي ميزباني لاءِ سپورٽ ڪئي وئي آهي.

ميموري حفاظت فراهم ڪئي وئي آهي زنگ واري وقت تي ريفرنس چيڪنگ ذريعي، اعتراض جي ملڪيت جي ٽريڪ رکڻ، اعتراض جي زندگين جي ٽريڪ رکڻ (اسڪوپس)، ۽ ڪوڊ جي عمل جي دوران ميموري رسائي جي صحيحيت جو جائزو وٺڻ. زنگ انٽيجر اوور فلوز جي خلاف پڻ تحفظ فراهم ڪري ٿو، استعمال ڪرڻ کان اڳ متغير قدرن جي لازمي شروعات جي ضرورت آهي، معياري لائبريري ۾ غلطين کي بهتر نموني سان سنڀاليندو آهي، ڊفالٽ طور ناقابل قابل حوالن ۽ متغيرن جي تصور کي لاڳو ڪري ٿو، منطقي غلطين کي گھٽائڻ لاءِ مضبوط جامد ٽائپنگ پيش ڪري ٿو.

مکيه جدت:

  • "ڪارگو" پيڪيج مينيجر پيش ڪري ٿو "شامل ڪريو" حڪم، جيڪو توهان کي نئين انحصار شامل ڪرڻ جي اجازت ڏئي ٿو Cargo.toml manifest يا موجوده انحصار کي تبديل ڪرڻ جي ڪمان لائن مان. حڪم پڻ توهان کي انفرادي خاصيتون ۽ نسخن جي وضاحت ڪرڻ جي اجازت ڏئي ٿو، مثال طور: ڪارگو شامل ڪريو serde - خاصيتون نڪتل ڪارگو شامل ڪريو nom@5
  • استعمال ڪرڻ جي صلاحيت شامل ڪئي وئي “#[ڊرائيو(ڊفالٽ)]” اينيمز سان جنهن ۾ ڊفالٽ آپشن کي استعمال ڪندي وضاحت ڪئي وئي آهي “#[default]” وصف. #[ڊرايو(ڊفالٽ)] enum ٿي سگهي ٿو {#[default] ڪجھ به نه، ڪجھ (T)، }
  • لينڪس پليٽ فارم تي، ميٽيڪس هم وقت سازي جي ميڪانيزم جو هڪ وڌيڪ جامع ۽ تيز عمل درآمد ڪيو ويو آهي، لينڪس ڪنيل پاران مهيا ڪيل فيوٽڪس جي استعمال جي بنياد تي. pthreads لائبريري جي بنياد تي اڳ ۾ استعمال ٿيل عمل جي برعڪس، نئون نسخو Mutex اسٽيٽ کي محفوظ ڪرڻ لاءِ 5 بدران صرف 40 بائيٽ استعمال ڪري ٿو. اهڙي طرح، Condvar ۽ RwLock لاڪنگ ميڪانيزم کي futex ڏانهن منتقل ڪيو ويو آهي.
  • x86_64-unknown-none ٽارگيٽ پليٽ فارم لاءِ سپورٽ جو هڪ ٻيو سطح لاڳو ڪيو ويو آهي، ڊزائين ڪيل فائلون ٺاهڻ لاءِ جيڪي بغير آپريٽنگ سسٽم جي ڪم ڪري سگهن ٿيون. مثال طور، مخصوص ٽارگيٽ پليٽ فارم استعمال ڪري سگھجن ٿا جڏهن ڪنيل اجزاء لکڻ. سپورٽ جي ٻئي سطح ۾ اسيمبلي جي ضمانت شامل آهي.
  • سپورٽ جو ٽيون سطح aarch64-pc-windows-gnullvm ۽ x86_64-pc-windows-gnullvm پليٽ فارمن لاءِ لاڳو ڪيو ويو آهي. ٽئين سطح ۾ بنيادي مدد شامل آهي، پر خودڪار ٽيسٽنگ کان سواءِ، سرڪاري تعميرات کي شايع ڪرڻ، يا چيڪ ڪرڻ ته ڇا ڪوڊ ٺاهي سگهجي ٿو.
  • API جو هڪ نئون حصو مستحڪم جي درجي ۾ منتقل ڪيو ويو آهي، بشمول طريقن ۽ عملن جي خاصيتن کي مستحڪم ڪيو ويو آهي:
    • bool:: then_some
    • f32::total_cmp
    • f64::total_cmp
    • Stdin :: لائنون
    • windows::CommandExt::raw_arg
    • impl AssertUnwindSafe لاءِ ڊفالٽ قدر
    • کان > لاءِ آر سي
    • کان > لاءِ آرڪ<[u8]>
    • EncodeWide لاءِ FusedIterator

    جو ذريعو: opennet.ru

تبصرو شامل ڪريو