Доступно обновление языка программирования Rust 1.21

Rust 1.21

Вышла новая версия Rust — современного языка системного программирования, ориентированного на безопасность, скорость и параллелизм. Обновления Rust выпускаются каждые несколько недель, поэтому каждая новая версия приносит относительно немного изменений.

Rust 1.21 теперь может автоматически заводить анонимные статические константы любого типа по аналогии с тем, как работают строковые литералы. При создании ссылки на константу она теперь будет выделена в статической области памяти, а не на стеке. Это позволяет не ограничивать время действия (lifetime) ссылки текущим блоком.

Rust Language Server, средство, призванное улучшить поддержку Rust со стороны IDE и текстовых редакторов за счёт тесной интеграции с компилятором, теперь может быть установлено с помощью rustup.

Из-за отсутствия в языке типов, обобщённых относительно целых чисел (integer generics), работа над добавлением которых всё ещё ведётся, массивы в Rust реализуют типажи, только если их размер не превышает 32. В Rust 1.21 массивы любого размера теперь реализуют типаж Clone за счёт специальной обработки в компиляторе.

В стандартную библиотеку Rust было добавлено несколько новых методов, в том числе метод std::mem::discriminant. Он позволяет определить, к какому варианту перечисления (enum) относится значение, не используя конструкцию match. Эта функция возвращает значение непрозрачного (opaque) типа, который реализует типаж Hash, что позволяет использовать значения этого типа в качестве ключей в словарях.

Кроме того, была увеличена скорость компиляции за счёт дополнительного распараллеливания генерации кода с использованием LLVM, а также исправлено несколько багов. Подробный список изменений можно найти в GitHub-репозитории проекта.


За материал выражаем благодарность нашему подписчику, Сергею Бугаеву

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