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

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

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

مکيه جدت:

  • شامل ڪيو ويو سلائسن جي ملندڙ حصن لاءِ ٽيمپليٽ لاءِ سپورٽ (متحرڪ صفون، سلائس). اڳي، ٺيڪ ٺاڪ ملائڻ جي اجازت ڏني وئي هئي، پر هاڻي اهو ممڪن آهي ته ".." نشان لڳل اڏاوتون استعمال ڪرڻ لاءِ صف جي باقي عناصر کي ڍڪڻ لاءِ. مثال طور:

    fn foo (لفظ: &[&str]) {
    ملندڙ لفظن {

    // صف جي شروعاتي عناصر کي چيڪ ڪري ٿو ۽ نظر انداز ڪري ٿو
    ان جي پٺيان عناصر
    ["هيلو"، "دنيا"، "!"، ..] => println!("Hello World!"),

    // پهرين ٻن عنصرن کي چيڪ ڪري ٿو "فو" ۽ "بار"، ۽ باقي اهم نه آهي
    ["فو"، "بار"، ..] => ڇپيل!("باز")

    // هر شيء کي نظر انداز ڪريو، پر آخري عنصر هجڻ گهرجي "!".
    [.., “!”] => ڇپيل!(“!!!”),

    // شروعاتي سلائس ۾ اسان سڀ شامل ڪريون ٿا سواءِ آخري عنصر جي، جنهن کي "z" هجڻ گهرجي.
    [start @ .., "z"] => println!("شروع ٿئي ٿو: {:?}", شروع),

    // آخر ۾ سلائس اسان پهرين عنصر کان سواء سڀ ڪجهه رکون ٿا، جيڪو "a" هجڻ گهرجي.
    ["a"، end @ ..] => println!("ان سان ختم ٿئي ٿو: {:?}", آخر),

    rest => println!("{:?}", باقي),
    }
    }

  • هڪ نئون ميڪرو شامل ڪيو ويو آهي “ميچز!”، جيڪو هڪ اظهار ۽ هڪ نمونو ان پٽ طور وٺندو آهي، ۽ واپس ڪندو آهي ”سچو“ جيڪڏهن نمونو اظهار سان ملندو آهي. ٽيمپليٽ استعمال ڪري سگھي ٿو "|" آپريشن ۽ جيڪڏهن".

    ملائي self.partial_cmp(ٻيو) {
    ڪجھ (گهٽ) => سچ،
    _ => ڪوڙو،
    }

    ملن!(self.partial_cmp(ٻيو)، ڪجھ (گهٽ))

    let foo = 'f'؛
    assert!(match!(foo, 'A'..='Z' | 'a'..='z'));

    let bar = ڪجھ (4)؛
    assert!(match!(bar, Some(x) if x > 2));

  • خوفناڪ پيغامن ۾ ڏيکاريل آهي جڏهن غلط استعمال ڪيو وڃي
    قسمن جا اختيار ۽ نتيجا، لائن نمبر هاڻي ڪوڊ جي لنڪ سان ڏيکاريا ويندا آهن جنهن سان مسئلو واري ڪال ڪئي هئي، بجاءِ ليبڪور ۾ ڪال لاڳو ڪندڙ ڪوڊ جي لنڪ جي. مثال طور، تبديلي ڪالن کي لڪائڻ تي اثرانداز ٿئي ٿي ۽ Option::None جي توقع ڪري ٿي، يا حادثا ٿي وڃن ٿا جڏهن unwrap_err، expect، expect_err، ۽ ساڳي طرح جا طريقا استعمال ڪريو نتيجن جي قسم تي.
  • ڪارگو پيڪيج مئنيجر "proc_macro crate" جو خودڪار متبادل مهيا ڪري ٿو "بيروني" بلاڪ ۾ پروسيسر ميڪرو سان پيڪيجز لاءِ. ھي تبديلي اجازت ڏئي ٿي "استعمال" جي ھدايت کي طريقيڪار واري ميڪرو تي لاڳو ڪرڻ جي بغير "extern crate proc_macro؛" ڪوڊ ۾. مثال طور، جيڪڏهن پروگرام لائن استعمال ڪري ٿو "استعمال proc_macro:: TokenStream؛"، پوء ڪوڊ هاڻي ڪم ڪندو رهندو جيڪڏهن "extern crate proc_macro؛" ان مان هٽايو ويو آهي.
  • معياري لائبريري جي صلاحيتن کي وڌايو ويو آهي. ان ۾::خالي شامل ڪيو ويو ڪنهن به T قدرن لاءِ مدد موڪليو ۽ هم وقت سازي ڪريو.
    ڪالز پن::{map_unchecked, map_unchecked_mut} پهچائڻ "سائز" عمل درآمد لاءِ قسم جي قيمت واپس ڪرڻ کان.
    io ۾::Cursor لاڳو ڪيو ويو جزوي ايڪو ۽ ايڪ. "const" وصف مستقل جي بدران ڪنهن به حوالي سان استعمال جي امڪان کي طئي ڪري ٿو، لاڳو ٿيل Layout::نئين طريقي لاءِ.
  • API جو هڪ نئون حصو مستحڪم ڪيٽيگري ڏانهن منتقل ڪيو ويو آهي، جنهن ۾ مستحڪم CondVar::wait_while، CondVar::wait_timeout_while،
    DebugMap::key, DebugMap::value,
    دستي طور تي ڊراپ:: take,
    ptr::slice_from_raw_parts_mut ۽ ptr::slice_from_raw_parts.
  • Error::description جو طريقو ختم ڪيو ويو آهي.
  • armv7a-none-eabi ۽ riscv64gc-unknown-linux-gnu پليٽ فارمن لاءِ ٻئي سطح جي سپورٽ مهيا ڪئي وئي. riscv64gc-unknown-linux-gnu پليٽ فارم لاءِ معياري لائبريري لاءِ سپورٽ مهيا ڪئي وئي آهي.
    ايپل 32-bit پليٽ فارم تنزل سپورٽ جي ٽئين سطح تائين، جنهن ۾ بنيادي مدد شامل آهي، پر سرڪاري عمارتن جي خودڪار جاچ ۽ اشاعت کان سواء. سپورٽ ۾ گهٽتائي جو سبب آهي ايپل هاڻي 32-bit پليٽ فارمن کي سپورٽ نٿو ڪري.

جو ذريعو: opennet.ru

DDoS تحفظ سان سائيٽن لاءِ قابل اعتماد هوسٽنگ خريد ڪريو، VPS VDS سرور 🔥 DDoS تحفظ سان قابل اعتماد ويب سائيٽ هوسٽنگ خريد ڪريو، VPS VDS سرورز | ProHoster