Релиз Rust 1.77

от автора

21 марта 2024 года состоялся релиз языка программирования Rust 1.77.0, позволяющего каждому создавать надёжное и эффективное программное обеспечение. Исходный код проекта опубликован на GitHub разработчиками из Rust Foundation.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.77.0 достаточно выполнить команду rustup update stable.

Основные обновления и изменения и доработки в Rust 1.77:

  • добавлена поддержка литералов в стиле языка C (C-string), которые хранятся в памяти с завершающим нулевым символом и ассоциированы с типом CStr;

  • в асинхронно выполняемых функциях, объявленных при помощи выражения «async fn», разрешено использование рекурсии, т.е. подобные функции теперь могут вызывать сами себя;

  • стабилизирован макрос offset_of!, позволяющий определить байтовое смещение полей структур, перечислений, объединений и кортежей, относительно начала типа;

  • в пакетном менеджере Cargo в профилях релизов по умолчанию включена очистка файлов от отладочных данных (strip = «debuginfo»), если в профиле Cargo явно не включён режим отладки, т.е. если параметр debug = 0;

  • включена по умолчанию опция «-Zthir-unsafeck=on», обеспечивающая проверку unsafe для промежуточного представления THIR («Typed High-Level Intermediate Representation»);

  • добавлена lint-проверка static_mut_refs для вывода предупреждения при использовании ссылок на изменяемые статические значения;

  • реализована возможность применения типажа «From<&[T; N]>» для типа «Cow<[T]>»;

  • в компиляторе обеспечено выравнивание 16-байтовых типов i128 и u128 для систем x86;

  • реализован третий уровень поддержки для платформ aarch64-unknown-illumos, hexagon-unknown-none-elf, riscv32imafc-esp-espidf и riscv32im-risc0-zkvm-elf. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода;

  • в разряд стабильных переведены часть API, в том числе стабилизированы методы и реализации типажей.

Stabilized API:

Список контрибуторов, которые работали на выпуском Rust 1.77.


ссылка на оригинал статьи https://habr.com/ru/articles/802369/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *