Іржа 1.36

Каманда распрацоўшчыкаў з радасцю прадстаўляе вам Rust 1.36!

Што новага ў Rust 1.36?
Стабілізаваны трэйт Future, з новага: крэйт alloc, MaybeUninit , NLL для Rust 2015, новая рэалізацыя HashMap і новы сцяг -offline для Cargo.


А зараз падрабязней:

  • У Rust 1.36 нарэшце-то стабілізавалі трэйт Future.
  • Крэйт alloc.
    Пачынаючы з Rust 1.36, часткі std, якія залежаць ад глабальнага алакатара (напрыклад, Vec ), знаходзяцца ў крэйце alloc. Цяпер std рээкспартуе гэтыя часткі. Больш пра гэта.
  • MaybeUninit замест mem::uninitialized.
    У папярэдніх рэлізах mem::uninitialized дазваляла вам абыходзіць праверку ініцыялізацыі, выкарыстоўвалася гэта для лянівай алакацыі масіваў, але гэтая функцыя даволі-такі небяспечная (больш падрабязна), таму быў стабілізаваны тып MaybeUninit , Які бяспечней.
    Ну і бо MaybeUninit з'яўляецца больш бяспечнай альтэрнатывай, то, пачынаючы з Rust 1.38, mem::uninitialized будзе з'яўляцца састарэлай функцыяй.
    Калі хочаце больш даведацца пра неініцыялізаваную памяць, можаце прачытаць запіс у блогу (Alexis Beingessner).
  • NLL для Rust 2015.
    У анонсе Іржа 1.31.0 распрацоўнікі распавядалі нам пра NLL (Non-Lexical Lifetime), паляпшэнне для мовы, якое робіць borrow checker разумнейшым і больш прыязным да карыстача. Прыклад:
    fn асноўны() {
    let mut x = 5;
    let y = &x;
    let z = & mut x; // Гэта не было дазволена перад 1.31.0.
    }

    У 1.31.0 NLL працаваў толькі ў Rust 2018, з абяцаннем, што распрацоўшчыкі дададуць падтрымку і ў Rust 2015.
    Калі хочаце больш даведацца пра NLL, можаце прачытаць больш у гэтай запісы ў блогу (Felix Klocks).

  • Новы сцяг для Cargo - ofline.
    У Rust 1.36 стабілізавалі новы сьцяг для Cargo. Сцяг -offline кажа Cargo выкарыстоўваць лакальна кэшаваныя залежнасці, для таго, каб пазней іх можна было выкарыстоўваць без інтэрнэту. Калі патрэбныя залежнасці не даступныя афлайн, і калі інтэрнэт усё ж такі патрэбен, то Cargo верне памылку. Для таго, каб папярэдне спампаваць залежнасці, можна выкарыстоўваць каманду cargo fetch, якая запампуе ўсе залежнасці.
  • Тут вы можаце прачытаць больш дэталёвы агляд змен.

Таксама ёсць і змены ў стандартнай бібліятэцы:

іншыя змены Іржа, грузавы и Clippy.

Крыніца: linux.org.ru

Дадаць каментар