Улучшения в Rust 1.84: безопасность, производительность и новые возможности

Rust 1.84 вносит значительные улучшения, направленные на повышение надежности и эффективности разработки. Новый обработчик типажей в компиляторе обеспечивает более строгую проверку совместимости типов, устраняя потенциальные конфликты и повышая предсказуемость поведения программ. Cargo, менеджер пакетов Rust, теперь автоматически учитывает минимально поддерживаемые версии компилятора для зависимостей, упрощая управление проектами, ориентированными на совместимость со старыми версиями Rust.
Улучшения в Rust 1.84: безопасность, производительность и новые возможности
Изображение носит иллюстративный характер

Введена новая система Strict Provenance для работы с указателями, обеспечивающая безопасное преобразование указателей в целые числа и обратно, сохраняя информацию о происхождении, что критически важно для низкоуровневых операций и управления памятью. Стабилизированы новые API, включая функции для работы с IP-адресами, указателями и целочисленными значениями, расширяя возможности разработчиков при работе с сетевыми технологиями и низкоуровневыми структурами. Кроме того, const признак применен к ряду функций, в том числе для работы с атомарными типами, что позволяет использовать их в константных контекстах.

В части производительности стабилизирована поддержка inline-ассемблерных вставок для s390x и Arm64EC архитектур, предоставляя разработчикам возможность оптимизировать код, который требует прямого доступа к процессору. Существенно расширены возможности WebAssembly, благодаря стабилизации таких функций как Multivalue, Reference-types и Tail-call, которые позволяют создавать более сложные и производительные веб-приложения. Вдобавок, второй уровень поддержки wasm32v1-none гарантирует стабильность сборки программ Rust для этой минималистичной платформы.

Развитие экосистемы Rust также не стоит на месте. Операционная система Tock на Rust позволяет запускать доверенные приложения на микроконтроллерах, обеспечивая изоляцию между уровнями приложения, ядра и драйверов. Проект VEKOS, ядро операционной системы с акцентом на верификацию компонентов, использует криптографические подтверждения для каждой операции с файловой системой и памятью. И, наконец, Mini-C, подмножество языка C, разрабатывается для автоматической трансляции C программ в Rust, упрощая миграцию устаревшего кода в безопасный Rust без блоков unsafe.


Новое на сайте

19754Северокорейские хакеры спрятали командный центр на GitHub 19753ИИ обгоняет людей в биомедицинском анализе — так ли это опасно, как звучит? 19752Artemis II летит к луне: что происходит и как за этим следить 19751Лекарство от диабета первого типа: шутка про «пять лет» перестаёт быть шуткой 19750Псевдонаука на службе рабства: как учёные XIX века торговали теориями о смешанной крови 19749Как SOC-команды теряют время на многоплатформенных атаках и как это остановить 19748Как люди научились жить там, где жить невозможно? 19747Рабочий ноутбук разработчика стал главной целью хакеров 19746Может ли песок решить главную проблему возобновляемой энергетики? 19745Как группировки Qilin и Warlock обезоруживают антивирусы через уязвимые драйверы 19744Самые прожорливые чёрные дыры во вселенной остаются без еды 19743Artemis: момент, который определит целое поколение 19742Почему в горах реже болеют диабетом? 19741Что скрывается подо льдами Антарктиды и почему страны могут начать за это бороться? 19740ДНК моркови и красного коралла на туринской плащанице
Ссылка