Іржа 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 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, яка завантажує всі залежності.
  • Тут Ви можете прочитати детальніший огляд змін.

Також є й зміни у стандартній бібліотеці:

інші зміни Іржа, Вантаж и Clippy.

Джерело: linux.org.ru

Додати коментар або відгук