В Rust добавлена поддержка литералов C-строк

Rust 1.77, последняя версия языка программирования, основанного Mozilla Research и ориентированного на безопасность, скорость и параллелизм, добавляет поддержку литералов C-строк.

Литералы C-строк в Rust расширяются до строки с нулевым байтом в памяти типа & 'static CStr. Это облегчает написание кода, который будет взаимодействовать с интерфейсами иностранных языков, требующих нуль-терминированных строк. Все необходимые проверки на ошибки, например, на отсутствие внутреннего нулевого байта, выполняются во время компиляции.

Анонсирован 21 марта, Rust 1.77 можно установить с помощью rustup: $ rustup update stable

Еще одно улучшение в Rust 1.77 - поддержка рекурсии в async fn. Ранее функции async не могли вызывать сами себя из-за ограничения компилятора, но Rust 1.77 снимает это ограничение. Теперь рекурсивные вызовы разрешены при условии, что они используют форму перенаправления, чтобы избежать бесконечного размера состояния функции.

Также в Rust 1.77 был стабилизирован макрос offsetof! для полей struct. Он предоставляет доступ к байтовому смещению соответствующего публичного поля структуры. По словам команды Rust, этот макрос может быть наиболее полезен, когда смещение поля требуется в отсутствие существующего экземпляра типа.

Кроме того, профили менеджера пакетов Cargo в Rust 1.77, которые не включают debuginfo в выводах, по умолчанию будут включать strip = "debugiinfo". Это необходимо в основном потому, что прекомпилированная стандартная библиотека поставляется с отладочной информацией, а это значит, что статически скомпилированные результаты будут включать отладочную информацию из стандартной библиотеки, даже если при локальной компиляции отладочная информация не запрашивалась явно.

Наконец, Clippy в Rust 1.77 добавляет новый lint, incompatible_msrv, который сообщает пользователям, если функциональность, на которую ссылаются, доступна только на более новых версиях, чем объявленная минимальная поддерживаемая версия Rust.

Rust 1.77 следует за выпущенным в прошлом месяце Rust 1.76, в котором были представлены обновления совместимости ABI.

В Rust добавлена поддержка литералов C-строк
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
22 марта 2024 г.
65
Теги: Rust , Mozilla Research

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.