Вихід Rust 1.95: нові можливості для розробників

Вихід Rust 1.95: нові можливості для розробників

Випущено Rust 1.95, який тепер підтримує if let охоронці в match виразах. Ця функція базується на функціональних можливостях let ланцюга, введених у Rust 1.88. Це дозволяє здійснювати додаткові умовні перевірки шаблонів безпосередньо в гілках match.

Оновлення Rust 1.95: охоронці та нові макроси

Команда Rust зазначає, що шаблони, які проходять в if let охоронцях, наразі не включені до оцінки виснажувальності match компілятором. Це схоже на звичайні охоронці if.

Ще одне варте уваги оновлення – це впровадження макросу cfg_select!. Команда випуску Rust пояснила, що він функціонує як match під час компіляції над конфігураційними предикатами. Це виконує подібну задачу, як широко використовуваний cfg-if crate, але з іншою синтаксисом. Цей макрос дозволяє розробникам вибирати реалізації або значення в залежності від цільової платформи або конфігурації збірки більш безпосередньо.

Розширення стабільного API в Rust 1.95

Rust 1.95 також значно розширює стабільну API поверхню. Нещодавно стабілізовані елементи включають поліпшення для MaybeUninit, Cell, атомарні методи оновлення і спроби оновлення, модуль core::range, Vec::push_mut, Vec::insert_mut, допоміжні функції вставки для VecDeque, допоміжні функції для мутацій LinkedList та кілька методів Layout.

Зміни для кастомних цілей у Rust 1.95

Законодавчі зміни у Rust 1.95 торкаються кастомних цілей. Стабільна підтримка для передачі специфікації цільового JSON у rustc була видалена. Проект заявляє, що це не вплине на користувачів з повністю стабільним інструментарієм, оскільки збірка стандартної бібліотеки для кастомних цілей вже вимагає нічного функціоналу.

Окрім основних оновлень компілятора і мови, в релізних нотах підкреслюються й інші зміни в Rust, Cargo і Clippy. Rust 1.95 представляє собою комплексне оновлення функцій і обслуговування, а не вузькоспрямоване випуск.

Для отримання детального списку змін, ознайомтеся з офіційним оголошенням.