Как стать автором
Обновить

Релиз Rust 1.77

Время на прочтение2 мин
Количество просмотров5.6K

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.

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 16: ↑14 и ↓2+17
Комментарии2

Другие новости

Истории

Работа

Ближайшие события