- 11 декабря 2025 года выпущена новая версия языка программирования Rust 1.92.0 с участием 332 разработчиков со всего мира.
- В релиз вошли изменения в проверках на использование типа never, доработка поведения атрибутов #[macro_export] и обновление методов и API.
- Поддержка динамического связывания добавлена для платформы mips64el-unknown-linux-muslabi64, а минимальная версия LLVM обновлена до 20.
11 декабря 2025 года состоялся выпуск стабильного релиза языка программирования Rust версии 1.92.0. Вклад в развитие обновления внесли 332 программиста, что свидетельствует о широкой и активной поддержке проекта со стороны сообщества. Данный релиз продолжает традицию регулярных обновлений Rust, нацеленных на повышение безопасности, удобства разработки и производительности.
Одним из ключевых изменений стала усиленная работа с типом never — обозначаемым символом «!», который используется для выражений, не возвращающих значение (например, функция panic! или бесконечный цикл). Теперь ряд Lint-проверок, связанных с типом never, перешли из уровня предупреждений в уровень ошибок компиляции, что требует более строгого подхода к обработке таких случаев в коде.
Кроме того, команда разработки изменила поведение lint-проверки «unused_must_use»: с версии 1.92 прекращён показ предупреждений для типов Result и ControlFlow, в которых состояния ошибок определяются типами без значений (например, Infallible). Это уменьшит количество ложных срабатываний при работе с API, четко указывающими на невозможность ошибки.
Интересной новацией стала генерация по умолчанию unwind-таблиц для Linux при использовании флага «-Cpanic=abort», что позволяет улучшить обратную трассировку и диагностику в случаях аварийного завершения программы. При необходимости разработчики могут вернуть прежнее поведение с помощью опции «-Cforce-unwind-tables=no».
Усилена и проверка атрибута #[macro_export]: теперь при обнаружении недопустимых аргументов выводится ошибка, а не предупреждение. Важным улучшением стало расширение проверки в зависимостях, что уменьшит вероятность попадания некорректных макросов в сборку.
В функциональной части safe-кода появилась возможность получать raw-указатели на поля union-типов, что расширяет возможности безопасной работы с низкоуровневыми структурами данных.
Повышена поддержка целевой платформы mips64el-unknown-linux-muslabi64 с добавлением динамического связывания, что расширяет спектр аппаратных конфигураций, на которых Rust может применяться.
Минимально требуемая версия LLVM обновлена до ветки 20, что позволит использовать современные возможности компилятора и кодогенерации.
Кроме того, в стабильную версию переведён ряд новых API и методов, среди которых функции вращения срезов rotate_left и rotate_right помечены как const, а также добавлен значительный набор новых методов для типов Box, Rc, Arc и коллекций btree_map. Также расширены возможности расширения на уровне proc_macro::TokenStream.
Таким образом, релиз Rust 1.92.0 дальнейшим образом укрепляет позиции языка как безопасного, высокопроизводительного инструмента для системного программирования с активным сообществом и регулярной поддержкой.
