Доступно очередное обновление Rust 1.25

rust

Вышла новая версия языка программирования общего назначения, разрабатываемого компанией Mozilla. Данное обновление увеличивает стабильность и производительность, а также расширяет возможности стандартных библиотек Rust.

Что нового?

Основное нововведение версии 1.25 — портирование компилятора с LLVM 4 на LLVM 6, благодаря чему производительность программ, написанных на этом языке, заметно улучшается (в некоторых случаях прогресс достигает 13,5 %).

Другое важное улучшение — стабильная поддержка атрибута repr(align), позволяющего явно задать требуемое выравнивание для типа данных, что может быть важно при низкоуровневой работе с памятью:

struct Number(i32);

assert_eq!(std::mem::align_of::(), 4);
assert_eq!(std::mem::size_of::(), 4);

#[repr(align(16))]
struct Align16(i32);

assert_eq!(std::mem::align_of::(), 16);
assert_eq!(std::mem::size_of::(), 16);

В стандартную библиотеку Rust было добавлено несколько новых реализаций типов, в том числе std::ptr::NonNull, оборачивающий обычный указатель, гарантирующий, что он не равен NULL. Данный подход позволяет использовать дополнительные оптимизации, неприменимые к указателем, которые могут быть равны NULL.

Cargo, пакетный менеджер и система сборки проектов на Rust, тоже получила несколько улучшений в этом релизе. Команда cargo new теперь по умолчанию создаёт исполняемый проект, а не библиотеку. Генерация документации при помощи команды cargo doc была значительно ускорена.

Также в язык была добавлена поддержка вложенных групп при импортировании имён и использования разделителя | в начале веток оператора match. С подробным списком изменений можно ознакомиться в GitHub-репозитории проекта.

Новые версии популярного языка системного программирования разработчики стараются выпускать регулярно. Напомним, Rust 1.24 вышел в феврале 2018 года.

Источник: блог Rust

Ещё интересное для вас:
Тест: чьё это рабочее место? Угадываем айтишников по их столам
Тест: что вы знаете о работе мозга?
Тест: какой язык программирования вам стоит выбрать для изучения?