Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

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

Новости

Вышла новая версия языка системного программирования Rust. Рассказываем об основных изменениях Rust 1.21.

587 открытий671 показов

Вышла новая версия 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-репозитории проекта.

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

Следите за новыми постами
Следите за новыми постами по любимым темам
587 открытий671 показов