3 апреля 2015 года, в полном соответствии с планом, вышла бета-версия Rust 1.0. Язык и большая часть стандартной библиотеки окончательно стабилизированы, до финального релиза возможны только минимальные изменения в API.
Некоторые изменения со времени альфа-версии, вышедшей 9 января:
- Проведена большая реформа подсистемы ввода-вывода стандартной библиотеки. Целью реформы было устранение «излишне высокоуровневых» абстракций, отказ от фокуса на POSIX и улучшение кросплатформенности. В частности, в стандартной библиотеке Rust 1.0 не будет средств для асинхронного ввода-вывода.
- Добавлен автоматический вывод типа захвата для замыканий, временный синтаксис(
|&:|
,|&mut:|
,|:|
) объявлен устаревшим. - Расширен формат записи диапазонов, что позволяет писать код вида
collection.remove(..)
. - Цикл for теперь принимает специальный трейт IntoIterator, что позволяет писать
for x in &vec
вместоfor x in vec.iter()
. - В отладочных сборках теперь включена проверка на переполнение для встроенных целочисленных типов.
Так же разработчики отмечают рост экосистемы языка. Репозиторий crates.io недавно преодолел отметку в 1 миллион загрузок и содержит более 1700 модулей, готовых для использования. В данный момент идет работа по обновлению устаревших модулей до бета-версии. Большая часть документации (The Book, Rust By Example, The Rust Reference, API reference) приведена в соответствии с вышедшей бета-версией.
Окончательный релиз Rust 1.0 запланирован на 16 мая, разработчики потратят оставшиеся до релиза 6 недель на тестирование, исправление ошибок и обновление документации.
>>> Подробности