Опублікована версія мови Rust 1.56.0, разом з якою розробники представили редакцію Rust 2021 — зі стабілізованими оновленнями за останні роки. У цьому підсумковому випуску змін менше, ніж у попередній версії — Rust 2018 — але декілька важливих для сумісності оновлень все ж є. Також Rust 2021 стане фундаментом для майбутніх релізів протягом трьох років.
Ключові особливості Rust 2021
Відокремлені capture у замиканнях: можна захоплювати окремі назви полів, а не цілі ідентифікатори загалом.
IntoIterator для масивів: array.into_iter()
тепер перебирає елементи в масивах за значенням, а не за посиланням.
Шаблони «Or» у macro-rules: специфікатор :pat
тепер враховує шаблони A|B
.
У Cargo тепер автоматично працює друга версія інструменту Feature resolver.
Доповнення до бібліотеки prelude: тепер до її типового вмісту належать TryInto
, TryFrom
і FromIterator
.
Panic-макроси тепер завжди формуються рядки через format_args!(..)
— за аналогією з println!()
.
У синтаксисі зарезервовані вирази ident#
, ident"..."
і ident'...'
.
Попередження bare_trait_objects
і ellipsis_inclusive_range_patterns
тепер стали помилками.
Окрім того, у випуску Rust 1.56 стабілізували ряд API, оновили компілятор до LLVM 13, а ще додали у Cargo.toml
поле [package]
rust-version
(для визначення мінімально сумісної версії Rust для крейтів). Детальніше про всі зміни нової версії можна дізнатись у примітках до випуску.
Ще немає коментарів