Rust 1.79: скромное обновление или гигантский скачок вперед?

Rust 1.79: скромное обновление или гигантский скачок вперед?

420 контрибуторов внесли свой вклад в крупное обновление языка.

image

13 июня 2024 года состоялся релиз новой стабильной версии популярного системного языка программирования Rust 1.79.0.

Исходный код Rust 1.79.0 был опубликован на GitHub проектом Rust Foundation - некоммерческой организацией, курирующей развитие этого языка. Предыдущий релиз Rust 1.78 вышел двумя месяцами ранее - 2 мая 2024 года.

Обладатели более старых сборок смогут легко обновиться до актуальной версии с помощью фирменного менеджера пакетов rustup, выполнив команду rustup update stable в терминале.

Ряд ключевых нововведений и дополнений в Rust 1.79:

  1. Добавлена поддержка inline-констант, позволяющая объявлять константные значения прямо в теле программы с помощью синтаксиса "const { ... }". Это нововведение упрощает определение констант без необходимости создания отдельных объектов.
  2. Стабилизация синтаксиса "T: Trait<Assoc: Bounds...>" для задания ограничений типов ассоциированных параметров, что позволяет сократить громоздкие объявления со вложенными обобщениями без потери читаемости.
  3. Автоматическое продление времени жизни временных значений в конструкциях match и if для упрощения управления ресурсами.
  4. Возможность импорта функции main() из внешних модулей и сторонних пакетов (crates).
  5. Включение флага "-Cforce-frame-pointers=yes" в компиляторе для сборки стандартной библиотеки, добавляющего метаданные для лучшего трассировки стека при профилировании.
  6. Стабилизация ряда возможностей для компиляции под WebAssembly.
  7. Реализация базовой (3 уровень) поддержки новых целевых платформ aarch64-apple-visionos, aarch64-apple-visionos-sim и riscv32ima-unknown-none-elf.
  8. Обеспечение гарантированной сборки (2 уровень поддержки) для Windows на наборах инструкций aarch64, i686 и x86_64 с использованием компилятора LLVM без предоставления официальных сборок.

Над выпуском Rust 1.79.0 трудились 420 разработчиков-контрибуторов со всего мира.

Ищем баги вместе! Но не те, что в продакшене...

Разбираем кейсы, делимся опытом, учимся на чужих ошибках

Зафиксируйте уязвимость своих знаний — подпишитесь!