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

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

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

مکيه جدت:

  • ميڪرو عناصر جي ٽڪرن کي استعمال ڪرڻ جي صلاحيت مهيا ڪن ٿا انهن کي ڪوڊ ۾ تبديل ڪرڻ لاءِ خاصيتن (خاصيت)، عمل درآمد (impl) يا خارجي بلاڪ. مثال طور:

    macro_rules! mac_trait {
    ($i:item) => {
    خاصيت T { $i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    نسل ڏانهن وٺي ويندي:

    خاصيت T {
    fn foo() {}
    }

  • پرائمري، حوالن ۽ بائنري عملن جي بهتر قسم جي ڳولا.
    مثال طور، هيٺ ڏنل ڪوڊ، جيڪو اڳ ۾ هڪ غلطي جو سبب بڻيو، هاڻي گڏ ڪرڻ جي قابل هوندو (Rust هاڻي صحيح طور تي طئي ڪري ٿو ته 0.0 ۽ 0.0 قسم f32 جو هجڻ گهرجي):

    let n: f32 = 0.0 + &0.0;

  • ڪارگو ۾ هڪ نئون ماحولي متغير CARGO_BIN_EXE_{name} شامل ڪيو ويو آهي، جيڪو انٽيگريشن ٽيسٽ جي تعمير ڪرڻ وقت مقرر ڪيو ويو آهي ۽ توهان کي پيڪيج جي “[[bin]]” سيڪشن ۾ بيان ڪيل ايگزيڪيوٽوبل فائل ڏانهن مڪمل رستو طئي ڪرڻ جي اجازت ڏئي ٿو.
  • جيڪڏهن بيانن کي خاصيتون استعمال ڪرڻ جي اجازت آهي جهڙوڪ "#[cfg()]".
  • لائبريري ماڊيول درآمد ڪرڻ کان سواءِ انٽيجر ۽ فرڪشنل قسمن لاءِ لاڳاپيل مستقل استعمال ڪرڻ جي صلاحيت فراهم ڪري ٿي. مثال طور، توهان فوري طور تي u32::MAX يا f32::NAN لکي سگهو ٿا، پهرين بيان ڪرڻ کان سواءِ ”استعمال std::u32“ ۽ ”استعمال std::f32“.
  • نئون ماڊل شامل ڪيو ويو مدي خارج، جيڪو ٻيهر برآمد ڪري ٿو Rust primitive type، مثال طور جڏهن توهان کي ميڪرو لکڻ جي ضرورت آهي ۽ پڪ ڪريو ته قسمون لڪيل نه آهن.
  • APIs جو هڪ نئون حصو مستحڪم درجي ۾ منتقل ڪيو ويو آهي، بشمول مستحڪم

    هڪ دفعو::is_completed،
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 ۽
    iter::one_with.

جو ذريعو: opennet.ru

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