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

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

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

ထုတ်ဝေမှုအသစ်၏ ကြေညာချက်၏ စာသားတွင်၊ Rust developer များသည် နိုင်ငံရေးတွင် ပါဝင်ခဲ့ပြီး Rust 1.44 တွင် အပြောင်းအလဲများကို အပြည့်အစုံ ပြန်လည်သုံးသပ်ရန် ငြင်းဆိုခဲ့ပြီး ရဲတပ်ဖွဲ့၏ အကြမ်းဖက်မှုကို ဆန့်ကျင်သည့် ဆန္ဒပြသူများနှင့် စည်းလုံးညီညွတ်မှု၏ သင်္ကေတအဖြစ်၊ ဤပြဿနာသည် ပိုမိုအရေးကြီးကြောင်း ဖော်ပြသည်။ နည်းပညာ ဗဟုသုတ ဖလှယ်ခြင်းထက်။ အခြေခံ တီထွင်ဆန်းသစ်မှုများ:

  • ကုန်တင်အထုပ်မန်နေဂျာသည် သစ်ပင်ကဲ့သို့ မှီခိုမှုဂရပ်ကိုပြသသည့် “ကုန်တင်သစ်ပင်” အမိန့်ကို ပေါင်းစပ်ထားသည်။ ထပ်လောင်းထည့်ထားသည်မှာ တူညီသောပက်ကေ့ခ်ျ၏ မတူညီသောဗားရှင်းများတွင် မှီခိုမှုကို အကဲဖြတ်နိုင်စေမည့် “—duplicates” (“ကုန်တင်သစ်ပင် -d”) ရွေးချယ်မှုဖြစ်သည်။

    mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── အမိုးနီးယား v3.0.0
    │ ├── html5ever v0.24.0
    │ │ ├── မှတ်တမ်း v0.4.8
    │ │ │ └── cfg-if v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup5ever v0.9.0
    │ │ ├── မှတ်တမ်း v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_shared v0.7.24
    │ │ │ ├── siphasher v0.2.3
    │ │ │ └── unicase v1.4.2
    │ │ │ [build-dependencies] │ │ │ └── version_check v0.1.5
    ...

  • std ("#![no_std]" နှင့် မသက်ဆိုင်သော အပလီကေးရှင်းများအတွက်) "async" လုပ်ဆောင်ချက်ကို အခြေခံ၍ async move {... } block နှင့် ".ait" အော်ပရေတာတို့အပေါ် အခြေခံ၍ အပြိုင်အဆိုင်လုပ်ဆောင်ခြင်းနည်းပညာများကို ပံ့ပိုးပေးပါသည်။ ပိတ်ဆို့ခြင်းမဟုတ်သော ကိုင်တွယ်သူများကို ပင်မအမိန့်ပေးစီးဆင်းမှုကို ရိုးရှင်းအောင်ရေးပါ။
  • ခွဲခြမ်းစိတ်ဖြာမှုသို့ တိုးချဲ့နိုင်သော မော်ဂျူး၏ အထက်အောက် အဓိပ္ပါယ်ဖွင့်ဆိုမှု အစီအစဉ်ကို ပံ့ပိုးပေးခဲ့သည်။ ဥပမာအားဖြင့်၊ မော်ဂျူး "foo/bar/baz.rs" အမှန်တကယ်မရှိတော့သော်လည်း အောက်ပါတည်ဆောက်ပုံသည် အမှားအယွင်းတစ်ခုဖြစ်ပေါ်လာမည်မဟုတ်ပါ (တည်ဆောက်မှုသည် ဝေါဟာရအရမမှန်ကန်သေးဘဲ အမှားအယွင်းဖြစ်စေနိုင်သော်လည်း အပြောင်းအလဲများကို မြင်တွေ့နိုင်ပြီး ခွဲခြမ်းစိတ်ဖြာနိုင်ပါသည်။ မက်ခရိုနှင့် အခြေအနေအလိုက် စုစည်းမှုအဆင့်)-

    #[cfg(FALSE)] mod foo {
    mod bar {
    mod baz;
    }
    }

  • rustc compiler သည် incremental mode တွင် “-C codegen-units” အလံကို အသုံးပြုနိုင်စွမ်းကို ပေါင်းထည့်ထားသည်။ catch_unwind ၏ အကောင်အထည်ဖော်မှုကို ပြန်လည်လုပ်ဆောင်ထားပြီး ခြွင်းချက်မရှိ ခြွင်းချက်မထားပါက ၎င်းသည် စွမ်းဆောင်ရည်သက်ရောက်မှုမရှိစေရန် ပြန်လည်လုပ်ဆောင်ထားပါသည်။
  • အဆင့် 64 ပံ့ပိုးမှုကို aarch64-unknown-none၊ aarch64-unknown-none-softfloat၊ arm86-apple-tvos နှင့် x64_XNUMX-apple-tvos ပလပ်ဖောင်းများအတွက် ပံ့ပိုးပေးထားပါသည်။ တတိယအဆင့်တွင် အခြေခံပံ့ပိုးမှုပါဝင်သော်လည်း အလိုအလျောက်စမ်းသပ်ခြင်းနှင့် တရားဝင်တည်ဆောက်မှုများကို ထုတ်ပြန်ခြင်းမရှိဘဲ။
  • APIs ၏ အပိုင်းအသစ်ကို တည်ငြိမ်အောင်ပြုလုပ်ခြင်းအပါအဝင် တည်ငြိမ်သောအမျိုးအစားသို့ လွှဲပြောင်းထားပါသည်။
    PathBuf::with_capacity၊
    PathBuf::စွမ်းရည်၊
    PathBuf::ရှင်းပါတယ်၊
    PathBuf::အရံ၊
    PathBuf::reserve_exact၊
    PathBuf::shrink_to_fit၊
    {f32|f64}::to_int_ အမှန်ခြစ်ဖြုတ်၊
    အပြင်အဆင်-:align_to၊
    အပြင်အဆင်-:pad_to_align၊
    Layout::array နှင့်
    အပြင်အဆင် :: တိုးချဲ့။

  • စံစာကြည့်တိုက်၏ တိုးချဲ့လုပ်ဆောင်မှုများ-
    • Vec::new() တွင် တိုက်ရိုက်ရောင်ပြန်ဟပ်သည့် အထူး "vec![]" မူကွဲကို ကိန်းသေများအစား ဆက်စပ်မှုတွင် အသုံးပြုရန် "vec![]" အား ထည့်သွင်းထားသည်။
    • ပြောင်းလဲရန်အတွက် စရိုက်လက္ခဏာ၏ အကောင်အထည်ဖော်မှု (impl) ကို ပေါင်းထည့်လိုက်သည်-:Infallible hash.
    • OsString သည် စမတ်ကျသော pointers များကို လုပ်ဆောင်သည်။ DerefMut и IndexMut"&mut OsStr" ကို ပြန်ပေးသည်။
    • ယူနီကုဒ် 13 အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
    • String တွင် အကောင်အထည်ဖော်သည်။ <&mut str> မှ.
    • IoSlice သည် စရိုက်လက္ခဏာကို အကောင်အထည်ဖော်သည်။ မိတ္တူ.
    • Vec From <[T; N]>။
    • proc_macro::LexError သည် fmt::Display နှင့် Error ကိုအကောင်အထည်ဖော်သည်။
  • ကိန်းသေများအစား မည်သည့်အကြောင်းအရာတွင်မဆို သုံးနိုင်သည်ဆိုသည်ကို ဆုံးဖြတ်ပေးသည့် "const" ရည်ညွှန်းချက်အား ကိန်းပြည့်အမျိုးအစားအားလုံးအတွက် from_le_bytes၊ to_le_bytes၊ from_be_bytes၊ to_be_bytes၊ from_ne_bytes နှင့် to_ne_bytes နည်းလမ်းများတွင် အသုံးပြုပါသည်။
  • Windows ရှိ GNU ပလပ်ဖောင်းများအတွက် ".lib" အစား ".a" ဖော်မတ်ဖြင့် static libraries များဖန်တီးရန်အတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်ထားပါသည်။
  • LLVM အတွက် အနိမ့်ဆုံးလိုအပ်ချက်များကို LLVM ဗားရှင်း 8 သို့ မြှင့်တင်ထားပါသည်။

source: opennet.ru

မှတ်ချက် Add