Команда розробників з радістю представляє вам 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 main() {
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