Язык Rust сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Основные новшества:
- Расширены возможности утилиты rustdoc, применяемой для генерации документации из примечаний в коде или файлов в формате Markdown. Добавлены средства для добавления в документирующие комментарии ссылок на другие элементы, упоминаемые при описании взаимосвязи.
- В разряд стабильных переведена новая порция API, в том числе стабилизированы:
- slice::as_ptr_range,
- slice::as_mut_ptr_range,
- VecDeque::make_contiguous,
- future::pending и
- future::ready.
- Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в методах:
- Option::is_some
- Option::is_none
- Option::as_ref
- Result::is_ok
- Result::is_err
- Result::as_ref
- Ordering::reverse
- Ordering::then
- В модулях синтаксически разрешено использование ключевого слова unsafe (семантически данное ключевое слово по-прежнему не принимается, но теперь может быть разобрано в процедурных макросах).
- В компиляторе стабилизирован флаг "-C link-self-contained=<yes|no>, позволяющий управлять связыванием с собственными Си-runtime и библиотеками при использовании платформ windows-gnu, linux-musl и wasi. Для платформ linux-gnu добавлена поддержка флага "-C target-feature=+crt-static".
- Обеспечен второй уровень поддержки для платформы aarch64-unknown-linux-musl.