У Rust есть три канала выпуска: стабильный, бета-версия и ночная версия.
Stable — это основной выпуск, и разработчики Rust заботятся о том, чтобы функции и обновления, сделанные в стабильном канале, были стабильными. Это означает, что они полностью реализованы и безопасны в использовании, но самое главное, когда разработчики Rust добавляют функцию в стабильную версию, это означает, что они берут на себя обязательства по обеспечению обратной совместимости.
Обязательство обратной совместимости важно, потому что это означает, что разработчики могут начать использовать стабильные функции в библиотеках, не беспокоясь о том, что им придется переписывать большие части своей библиотеки с нуля при обновлении языка.
В Rust доступны и другие функции, например, синтаксис box
, который еще не полностью завершен. Многие из них имеют частичную или почти полную реализацию, но их точный синтаксис и реализация все еще могут быть изменены. Поскольку эти функции не считаются стабильными, они потенциально подвержены обратно несовместимым изменениям, которые могут нарушить существующий код, если вы будете зависеть от них.
Например, есть или были два предложения по синтаксису для того, что называется «размещение нового» (избегая необходимости сначала выделять в стеке, а затем копировать в кучу):
in PLACE { BLOCK }
PLACE <- EXPR
Когда новое размещение станет стабильным, будет доступен только один синтаксис. Однако во время разработки команда Rust может экспериментировать с несколькими способами работы и изменять их по своему усмотрению. Любой, кто использует нестабильные функции, должен будет обновлять свой код каждый раз, когда меняются API-интерфейсы компилятора или языка.
Но иногда люди хотят пойти на этот риск и использовать функции, которые еще не доступны в стабильной версии, зная, что их код может быть сломан в будущих версиях.
Для этого есть ночной выпуск. Это версия компилятора, созданная с нестабильными функциями и включенными API. Если вы используете ночную версию, вы можете использовать синтаксис box
и множество других функций, которые не считаются готовыми для стабильной версии.
Вероятно, самый простой способ получить ночную сборку и переключиться между ночным и стабильным выпусками — это установить ржавчину с помощью ржавчина.
Rustup позволяет легко устанавливать компиляторы Rust для разных платформ и переключаться между стабильными, ночными и бета-версиями.
person
zstewart
schedule
11.02.2017
box
, но не прочитали введение в главу 6, озаглавленную Nightly Rust, который описывает первые 2/3 вашего вопроса? - person Shepmaster   schedule 11.02.2017