Документация Rust

Добро пожаловать в обзор документации, предоставляемой проектом Rust. Эта страница содержит ссылки на различные полезные справочные материалы, большинство из которых доступны офлайн (при открытии с помощью команды rustup doc). Многие из этих ресурсов представлены в формате «книг»; все вместе мы называем их «Книжной полкой Rust» (The Rust Bookshelf). Некоторые из них большие, некоторые — компактные.

Все эти книги поддерживаются организацией Rust, однако здесь также представлены и некоторые неофициальные ресурсы документации!

Если вам нужен только справочник по стандартной библиотеке, он доступен здесь: Документация по Rust API

§Изучение Rust

Если вы хотите изучить Rust, этот раздел для вас! Все эти материалы предполагают, что у вас уже есть опыт программирования, но не привязаны к какому-либо конкретному языку:

§Язык программирования Rust

Издание, любовно прозванное «Книгой» (The Book), — Язык программирования Rust (ориг.) — познакомит вас с языком с самых базовых принципов. В процессе вы реализуете несколько проектов и к концу книги получите твердое понимание того, как использовать язык.

§Rust на примерах (Rust By Example)

Если чтение сотен страниц о языке — не ваш стиль, то Rust By Example (ориг.) отлично вам подойдет. В RBE представлено множество практических примеров кода без лишнего текста, а также включены упражнения!

§Rustlings

Rustlings проведет вас через загрузку и настройку тулчейна Rust, а затем предоставит интерактивный инструмент для решения практических задач по программированию на Rust.

§Rust Playground

Rust Playground — удобная онлайн-среда для запуска небольших фрагментов кода, обмена ими и экспериментов с наиболее популярными крейтами.

§Использование Rust

После того как вы освоитесь с языком, эти ресурсы помогут вам применить его на практике.

§Стандартная библиотека

Стандартная библиотека Rust сопровождается обширной документацией по API с пояснениями о том, как использовать различные компоненты языка, а также примерами кода для решения типовых задач. При наведении на примеры кода появляется кнопка «Run», открывающая код в Playground.

§Ваша личная документация

При работе внутри крейта команда cargo doc --open сформирует документацию для вашего проекта и всех его зависимостей в их актуальных версиях, после чего откроет её в браузере. Добавьте флаг --document-private-items, чтобы также отобразить элементы, не помеченные как pub.

§История версий Rust

Примечания к выпускам (Release Notes) содержат историю изменений инструментария и языка Rust.

Руководство по редакциям (Edition Guide) описывает редакции Rust и различия между ними. Последняя версия инструментария поддерживает все существовавшие редакции.

§Книга по rustc

Книга по rustc описывает компилятор Rust — rustc.

§Книга по Cargo

Книга по Cargo — руководство по системе сборки и менеджеру зависимостей Cargo.

§Книга по Rustdoc

Книга по Rustdoc посвящена встроенному генератору документации — rustdoc.

§Книга по Clippy

Книга по Clippy описывает статический анализатор кода — Clippy.

§Расширенный список ошибок

Многие ошибки компилятора Rust снабжены собственными кодами, и вы можете запросить развернутую диагностику непосредственно в терминале (командой rustc --explain). Кроме того, они доступны онлайн: коды ошибок rustc.

§Углубленное изучение Rust

Когда вы будете уверенно владеть языком, вам могут пригодиться следующие материалы продвинутого уровня.

§Справочник (The Reference)

Справочник (The Reference) (ориг.) не является формальной спецификацией языка, однако дает существенно более глубокое и подробное описание, чем стандартная книга.

§Руководство по стилю (Style Guide)

Руководство по стилю Rust регламентирует стандарты оформления кода на Rust. Большинство разработчиков используют утилиту cargo fmt (вызывающую rustfmt) для автоматического приведения кода к этому стилю.

§Растономикон (The Rustonomicon)

Растономикон (ориг.) — подробное руководство по тонкостям и темным сторонам небезопасного (unsafe) Rust. Его также часто называют просто «’номикон».

§Книга нестабильных возможностей (The Unstable Book)

The Unstable Book документирует нестабильные и экспериментальные функции языка и компилятора.

§Руководство по разработке rustc

The rustc-dev-guide объясняет архитектуру компилятора и порядок участия в его развитии. Материал полезен для тех, кто планирует собирать или модифицировать компилятор Rust из исходников (например, под нестандартные платформы).

§Специализированный Rust

При использовании Rust в предметных областях обратите внимание на руководства, подготовленные специализированными командами.

§Встраиваемые системы

При разработке под bare-metal (без ОС) или встроенный Linux будут полезны материалы, развиваемые Рабочей группой по встроенным системам (Embedded Working Group).

§Книга по Embedded Rust

The Embedded Rust Book ориентирована на разработчиков, которые уже знакомы с встраиваемыми системами и языком Rust, но еще не применяли Rust непосредственно в микроконтроллерах и встроенных устройствах.