Каманда распрацоўшчыкаў з радасцю прадстаўляе вам Rust 1.36!
Што новага ў Rust 1.36?
А зараз падрабязней:
- У 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, якая запампуе ўсе залежнасці. - Тут вы можаце прачытаць больш дэталёвы агляд змен.
Таксама ёсць і змены ў стандартнай бібліятэцы:
- Цяпер макрас dbg!() можа прымаць некалькі аргументаў.
- Некаторае кола API зараз пазначаныя const:
- Новыя API, якія былі стабілізаваны:
- Іншыя змены ў стандартнай бібліятэцы вы можаце знайсці тут.
іншыя змены Іржа, грузавы и Clippy.
Крыніца: linux.org.ru