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

جڳه ورتي سسٽم پروگرامنگ ٻولي ڇڏڻ مورچا 1.35، Mozilla پروجيڪٽ پاران تيار ڪيل. ٻولي ميموري جي حفاظت تي ڌيان ڏئي ٿي، خودڪار ميموري مينيجمينٽ مهيا ڪري ٿي، ۽ گندگي ڪليڪٽر يا رن ٽائم استعمال ڪرڻ کان سواءِ اعليٰ ڪم جي برابري حاصل ڪرڻ جو وسيلو مهيا ڪري ٿي.

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

مکيه جدت:

  • صفتون FnOnce, FnMut и Fn هيپ مختص ٿيل لاء لاڳو ڪيو ويو آهي باڪس جا قسم Box‹dyn FnOnce›, Box‹dyn FnMut› and Box‹dyn Fn›;
  • شامل ڪيو ويو موقعو غير محفوظ فنڪشن پوائنٽرز کي بند ڪرڻ بند ڪرڻ (غير محفوظ fn)؛
  • ميڪرو کي "dbg!" سڏڻ جي صلاحيت کي لاڳو ڪيو. بغير متغير جي چڪاس ڪرڻ کان سواءِ فائل جو نالو ۽ لائن نمبر ڏيکارڻ لاءِ دليلن جي stderr ۾، جيڪو شرطي اظهار جي آپريشن کي ڊيبگ ڪرڻ لاءِ آسان آهي؛
  • شامل ڪيو ويو طريقو " سچل پوائنٽ جي قسمن ۾ f32 ۽ f64ڪاپي سائن» هڪ ڪردار کي نقل ڪرڻ لاء هڪ نمبر کان ٻئي ڏانهن؛
  • شامل ڪيل طريقو "تي مشتمل آهي"، جيڪو توهان کي چيڪ ڪرڻ جي اجازت ڏئي ٿو ته ڇا ڄاڻايل قيمت حد جي اندر آهي؛
  • شامل ڪيل طريقو Ref:Cell:map_split, توهان کي عڪاسي ڪرڻ جي اجازت ڏئي ٿو ۽ قرض ورتو RefCell قدر کي الڳ ڪرڻ لاءِ قرض ڪيل ڊيٽا جي مختلف حصن لاءِ؛
  • شامل ڪيل طريقو RefCell::replace_with موجوده RefCell قيمت کي تبديل ڪرڻ ۽ نتيجي طور پراڻي قدر واپس ڪرڻ لاء؛
  • شامل ڪيل طريقو ptr::hash ايڊريس جي قيمت جي بجاءِ ايڊريس ذريعي پوائنٽر يا حوالو هٽائڻ؛
  • شامل ڪيل طريقو اختيار:: نقل ٿيل Option‹&T› يا آپشن‹&mut T› اختيارن جي مواد کي نقل ڪرڻ لاءِ؛
  • APIs جو ھڪڙو نئون حصو مستحڪم درجي ڏانھن منتقل ڪيو ويو آھي، جن ۾ طريقا شامل آھن جيڪي مستحڪم ڪيا ويا آھن
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell ::map_split،
    ptr::hash,
    حد:: تي مشتمل آهي،
    رينج منجهان:: شامل آهي،
    حد تائين::شامل آهي،
    RangeInclusive::شامل آهي،
    RangeToInclusive::شامل ۽
    اختيار:: نقل ٿيل؛

  • شامل ڪيو ويو drop_bounds چيڪ ڪلپي (linter) ڏانهن، جيڪو شروع ٿئي ٿو جڏهن "T: Drop" بائنڊنگ کي فنڪشن ۾ شامل ڪيو وڃي؛
  • گڏ ڪرڻ وارو شامل ڪيو آهي سپورٽ نئين ٽارگيٽ پليٽ فارم لاءِ
    wasm32-اڻڄاتل-واسي (انٽرفيس واسي برائوزر کان ٻاهر WebAssembly استعمال ڪرڻ لاء؛

  • رسٽ ٽول ڪٽ معياري سي لائبريري مسل جي بنياد تي تقسيم لاء ترتيب ڏني وئي آهي.

جو ذريعو: opennet.ru

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