Rust 1.35 ပရိုဂရမ်းမင်းဘာသာစကား ဖြန့်ချိသည်။

နေရာယူခဲ့သည်။ စနစ် ပရိုဂရမ်းမင်း ဘာသာစကား ထုတ်ဝေမှု သံချေး 1.35Mozilla ပရောဂျက်မှ ဖန်တီးသည်။ ဘာသာစကားသည် မှတ်ဉာဏ်ဘေးကင်းရေးကို အလေးပေးထားပြီး အလိုအလျောက်မှတ်ဉာဏ်စီမံခန့်ခွဲမှုကို ပံ့ပိုးပေးကာ အမှိုက်စုဆောင်းသူ သို့မဟုတ် အပြေးအချိန်ကို အသုံးမပြုဘဲ မြင့်မားသောအလုပ်အပြိုင်ရရှိရန် နည်းလမ်းများကို ပံ့ပိုးပေးပါသည်။

Rust ၏ အလိုအလျောက်မှတ်ဉာဏ်စီမံခန့်ခွဲမှုသည် developer အား pointer ခြယ်လှယ်ခြင်းမှ လွတ်မြောက်စေပြီး အခမဲ့ memory access များ၊ null pointer dereferences၊ buffer overruns ကဲ့သို့သော အဆင့်နိမ့်မှတ်ဉာဏ် ခြယ်လှယ်မှုမှ ဖြစ်ပေါ်လာသည့် ပြဿနာများကို ကာကွယ်ပေးပါသည်။ စာကြည့်တိုက်များကို ဖြန့်ဝေရန်၊ စုဝေးမှုကို သေချာစေရန်နှင့် ပရောဂျက်မှ မှီခိုမှုများကို စီမံခန့်ခွဲရန် ပက်ကေ့ဂျ်မန်နေဂျာကို တီထွင်နေပါသည်။ ကုန်စည်ပရိုဂရမ်အတွက် လိုအပ်သော စာကြည့်တိုက်များကို တစ်ချက်နှိပ်ရုံဖြင့် သင်ရနိုင်မည်ဖြစ်သည်။ လက်ခံထားသည့် စာကြည့်တိုက်များအတွက် သိုလှောင်မှုအား ပံ့ပိုးထားသည်။ crates.io.

အဓိက တီထွင်ဆန်းသစ်မှုများ:

  • လက္ခဏာရပ်များ FnOnce, FnMut и Fn အစုအဖွဲ့ခွဲဝေခြင်းအတွက် ဆောင်ရွက်သွားရန် boxed အမျိုးအစားများ Box‹dyn FnOnce›, Box‹dyn FnMut› နှင့် Box‹dyn Fn›;
  • ထပ်ပြောပါသည်။ အခွင့်အရေး မလုံခြုံသောလုပ်ဆောင်ချက်ညွှန်ပြချက်များ (unsafe fn);
  • မက်ခရို “dbg” ဟု ခေါ်ရန် စွမ်းရည်ကို အကောင်အထည်ဖော်ခဲ့သည်။ stderr တွင် ဖိုင်အမည်နှင့် လိုင်းနံပါတ်ကို ဖော်ပြရန် အငြင်းအခုံများ မရှိဘဲ၊ conditional expressions များ၏ လုပ်ဆောင်မှုကို အမှားရှာရန် အဆင်ပြေသည့် variable ကို စစ်ဆေးခြင်းမပြုဘဲ၊
  • F32 နှင့် f64 ကို Floating Point အမျိုးအစားများသို့ ထည့်သွင်းသည့်နည်းလမ်းကော်ပီလက်မှတ်» အက္ခရာတစ်ခုမှ နံပါတ်တစ်ခုသို့ ကူးယူရန်၊
  • ထည့်ထားတဲ့နည်းလမ်း"ပါဝင်ပါသည်“သတ်မှတ်ထားသောတန်ဖိုးသည် အကွာအဝေးအတွင်းရှိမရှိ စစ်ဆေးရန်ခွင့်ပြုသည်။
  • ထည့်ထားသောနည်းလမ်း Ref:Cell:map_splitချေးထားသောဒေတာ၏ မတူညီသောအစိတ်အပိုင်းများအတွက် ချေးထားသော RefCell တန်ဖိုးကို ရောင်ပြန်ဟပ်ကာ ခွဲထုတ်နိုင်စေမည်ဖြစ်သည်။
  • ထည့်ထားသောနည်းလမ်း RefCell-:replace_with လက်ရှိ RefCell တန်ဖိုးကို အစားထိုးရန်နှင့် ရလဒ်အဖြစ် တန်ဖိုးဟောင်းကို ပြန်ပေးရန်၊
  • ထည့်ထားသောနည်းလမ်း ptr::hash လိပ်စာပေးထားသောတန်ဖိုးထက် ညွှန်ပြချက် သို့မဟုတ် အကိုးအကားကို လိပ်စာတစ်ခုဖြင့် ကပ်ရန်၊
  • ထည့်ထားသောနည်းလမ်း ရွေးချယ်မှု-: ကူးယူထားသည်။ Option ‹&T› သို့မဟုတ် Option‹&mut T› ရွေးချယ်စရာများ ၏ အကြောင်းအရာများကို ကူးယူရန်။
  • တည်ငြိမ်အောင်ပြုလုပ်ထားသော နည်းလမ်းများအပါအဝင် API ၏ အပိုင်းအသစ်ကို တည်ငြိမ်သောအမျိုးအစားသို့ လွှဲပြောင်းထားပါသည်။
    f32::မိတ္တူ၊
    f64::မိတ္တူ၊
    RefCell::replace_with၊
    RefCell::map_split၊
    ptr::hash၊
    အပိုင်းအခြား:: ပါဝင်သည်၊
    RangeFrom::ပါဝင်သည်၊
    RangeTo::ပါဝင်သည်၊
    RangeInclusive::ပါဝင်သည်၊
    RangeToInclusive::ပါဝင်သည်နှင့်
    ရွေးချယ်မှု-: မိတ္တူ;

  • လုပ်ဆောင်ချက်သို့ “T: Drop” ချိတ်တွဲထည့်သည့်အခါ အစပျိုးသည့် clippy (linter) သို့ ထည့်သွင်းထားသော drop_bounds များကို စစ်ဆေးပါ။
  • compiler သည် ပစ်မှတ်ပလပ်ဖောင်းအသစ်အတွက် ပံ့ပိုးမှုထပ်ဖြည့်ထားသည်။
    wasm32-unknown-wasi (အင်တာဖေ့စ် WASI Browser အပြင်ဘက် WebAssembly ကိုသုံးရန်);

  • Rust ကိရိယာအစုံသည် စံ C စာကြည့်တိုက် Musl ကိုအခြေခံ၍ ဖြန့်ဝေမှုများအတွက် လိုက်လျောညီထွေဖြစ်စေသည်။

source: opennet.ru

မှတ်ချက် Add