Добро пожаловать в обзор документации, предоставляемой проектом Rust. Эта страница содержит ссылки на различные полезные справочные материалы, большинство из которых доступны офлайн (при открытии с помощью команды rustup doc). Многие из этих ресурсов представлены в формате «книг»; все вместе мы называем их «Книжной полкой Rust» (The Rust Bookshelf). Некоторые из них большие, некоторые — компактные.
Все эти книги поддерживаются организацией Rust, однако здесь также представлены и некоторые неофициальные ресурсы документации!
Если вам нужен только справочник по стандартной библиотеке, он доступен здесь: Документация по Rust API
Если вы хотите изучить Rust, этот раздел для вас! Все эти материалы предполагают, что у вас уже есть опыт программирования, но не привязаны к какому-либо конкретному языку:
Издание, любовно прозванное «Книгой» (The Book), — Язык программирования Rust (ориг.) — познакомит вас с языком с самых базовых принципов. В процессе вы реализуете несколько проектов и к концу книги получите твердое понимание того, как использовать язык.
Если чтение сотен страниц о языке — не ваш стиль, то Rust By Example (ориг.) отлично вам подойдет. В RBE представлено множество практических примеров кода без лишнего текста, а также включены упражнения!
Rustlings проведет вас через загрузку и настройку тулчейна Rust, а затем предоставит интерактивный инструмент для решения практических задач по программированию на Rust.
Rust Playground — удобная онлайн-среда для запуска небольших фрагментов кода, обмена ими и экспериментов с наиболее популярными крейтами.
После того как вы освоитесь с языком, эти ресурсы помогут вам применить его на практике.
Стандартная библиотека Rust сопровождается обширной документацией по API с пояснениями о том, как использовать различные компоненты языка, а также примерами кода для решения типовых задач. При наведении на примеры кода появляется кнопка «Run», открывающая код в Playground.
При работе внутри крейта команда cargo doc --open сформирует документацию для вашего проекта и всех его зависимостей в их актуальных версиях, после чего откроет её в браузере. Добавьте флаг --document-private-items, чтобы также отобразить элементы, не помеченные как pub.
Примечания к выпускам (Release Notes) содержат историю изменений инструментария и языка Rust.
Руководство по редакциям (Edition Guide) описывает редакции Rust и различия между ними. Последняя версия инструментария поддерживает все существовавшие редакции.
rustcКнига по rustc описывает компилятор Rust — rustc.
Книга по Cargo — руководство по системе сборки и менеджеру зависимостей Cargo.
Книга по Rustdoc посвящена встроенному генератору документации — rustdoc.
Книга по Clippy описывает статический анализатор кода — Clippy.
Многие ошибки компилятора Rust снабжены собственными кодами, и вы можете запросить развернутую диагностику непосредственно в терминале (командой rustc --explain). Кроме того, они доступны онлайн: коды ошибок rustc.
Когда вы будете уверенно владеть языком, вам могут пригодиться следующие материалы продвинутого уровня.
Справочник (The Reference) (ориг.) не является формальной спецификацией языка, однако дает существенно более глубокое и подробное описание, чем стандартная книга.
Руководство по стилю Rust регламентирует стандарты оформления кода на Rust. Большинство разработчиков используют утилиту cargo fmt (вызывающую rustfmt) для автоматического приведения кода к этому стилю.
Растономикон (ориг.) — подробное руководство по тонкостям и темным сторонам небезопасного (unsafe) Rust. Его также часто называют просто «’номикон».
The Unstable Book документирует нестабильные и экспериментальные функции языка и компилятора.
rustcThe rustc-dev-guide объясняет архитектуру компилятора и порядок участия в его развитии. Материал полезен для тех, кто планирует собирать или модифицировать компилятор Rust из исходников (например, под нестандартные платформы).
При использовании Rust в предметных областях обратите внимание на руководства, подготовленные специализированными командами.
При разработке под bare-metal (без ОС) или встроенный Linux будут полезны материалы, развиваемые Рабочей группой по встроенным системам (Embedded Working Group).
The Embedded Rust Book ориентирована на разработчиков, которые уже знакомы с встраиваемыми системами и языком Rust, но еще не применяли Rust непосредственно в микроконтроллерах и встроенных устройствах.