Релиз Rust 1.88.0

26 июня 2025 года состоялся релиз языка программирования Rust 1.88. Вклад в разработку этого обновления внесли 443 программиста со всего мира. Версии проекта Rust 1.80 вышла в июле 2024 года. Релиз Rust 1.85.0 (Rust 2024) состоялся 20 февраля. Выпуск Rust 1.87.0 и празднование десяти лет после выхода Rust 1.0 произошло в мае 2025 года.

Язык Rust сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

Основные изменения и дополнения в Rust 1.88 (Rust, Cargo и Clippy):

введена поддержка написания опции naked functions без сгенерированного компилятором эпилога и пролога, чтобы обеспечить полный контроль над сгенерированной сборкой этой функции. Элементы naked functions помечаются атрибутом #[unsafe(naked)];

добавлена поддержка цепочки операторов let внутри операторов if и while с использованием цепочки «&&»;

Rust 1.88 для Cargo обеспечивает автоматическую очистку кэша путём запуска сборки мусора в кэше в домашнем каталоге. В настоящее время Cargo настроен на удаление файлов, загруженных из сети, если к ним не обращаются в течение трёх месяцев;

поддержка булевых литералов в языке предикатов cfg;

стабилизирован ряд API;

целевой объект i686-pc-windows-gnu понижен до архитектуры Tier-2.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии