Вышел Rust 1.59.0
24 февраля 2022 года разработчики объявили о выходе новой версии языка программирования Rust 1.59.0.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.59.0 достаточно выполнить команду: «rustup update stable».
Если у вас еще нет rustup, то его можно установить со страницы на веб-сайте проекта. Подробное описание новой версии также опубликовано на GitHub.
Основные новшества в Rust 1.59.0 (более подробно можно посмотреть у OpenNET):
- поддержка ассемблерных вставок и ассемблерных инструкций для архитектур x86, x86–64, ARM, AArch64 и RISC-V;
- поддержка деструктурированных (параллельных) присвоений, например:
let (a, b, c, d, e); (a, b) = (1, 2); [c, .., d, _] = [1, 2, 3, 4, 5]; Struct { e, .. } = Struct { e: 5, f: 3 }; assert_eq!([1, 2, 1, 4, 5], [a, b, c, d, e]);
- появилась возможность указания значений по умолчанию для константных дженериков («const generics»);
- в пакетном менеджере Cargo добавлен вывод предупреждений об использовании в зависимостях недопустимых конструкций, обрабатываемых из-за ошибок в компиляторе;
- в cargo и rustc встроена возможность генерации исполняемых файлов, очищенных от отладочных данных (strip = «debuginfo») и символов (strip = «symbols»), без необходимости вызова отдельной утилиты;
- отключена инкрементальная компиляция по умолчанию в качестве временной меры из-за ошибки в компиляторе, приводящей к сбоям и выводу ошибок десериализации. Для возвращения инкрементальной компиляции можно использовать переменную окружения RUSTC_FORCE_INCREMENTAL=1;
- в разряд стабильных переведены большой список API, там также стабилизированы методы и реализации типажей.
Также в новой версии Rust внесены изменения и доработки в компилятор и библиотеки.
Предыдущая версия Rust 1.58.0 вышла 13 января. Там тоже было много изменения и дополнений, включая возможность подстановки произвольных идентификаторов через добавление в строку выражений, а также доработка механизмов и формата работы компилятора.