Beginner, advanced, expert level Rust training material
Seven training courses covering Rust from different programming backgrounds, plus deep-dives on async, advanced patterns, and engineering practices.
This material combines original content with ideas and examples inspired by some of the best resources in the Rust ecosystem. The goal is to present an in-depth, technically accurate curriculum that weaves together knowledge scattered across books, blogs, conference talks, and video series into a cohesive, pedagogically structured experience.
Disclaimer: These books are training material, not an authoritative reference. While we strive for accuracy, always verify critical details against the official Rust documentation and the Rust Reference.
Crust of Rust seriesPin, and the futures modelPick the book that matches your background. Books are grouped by complexity so you can chart a learning path:
Level Description 🟢 Bridge Learn Rust coming from another language — start here 🔵 Deep Dive Focused exploration of a major Rust subsystem 🟡 Advanced Patterns and techniques for experienced Rustaceans 🟣 Expert Cutting-edge type-level and correctness techniques 🟤 Practices Engineering, tooling, and production readiness Book Level Who it's for Rust for C/C++ Programmers 🟢 Bridge Move semantics, RAII, FFI, embedded, no_std Rust for C# Programmers 🟢 Bridge Swift / C# / Java → ownership & type system Rust for Python Programmers 🟢 Bridge Dynamic → static typing, GIL-free concurrency Async Rust 🔵 Deep Dive Tokio, streams, cancellation safety Rust Patterns 🟡 Advanced Pin, allocators, lock-free structures, unsafe Type-Driven Correctness 🟣 Expert Type-state, phantom types, capability tokens Rust Engineering Practices 🟤 Practices Build scripts, cross-compilation, CI/CD, MiriEach book has 15–16 chapters with Mermaid diagrams, editable Rust playgrounds, exercises, and full-text search.
Tip: Browse the rendered books with sidebar navigation and search at the GitHub Pages site.
Local preview: For offline reading or while contributing (install Rust first):
git clone https://github.com/microsoft/RustTraining.git cd RustTraining cargo install mdbook mdbook-mermaid cargo xtask serve # http://localhost:3000
Install Rust via rustup if you haven't already, then:
cargo install [email protected] [email protected]
git clone https://github.com/microsoft/RustTraining.git
cd RustTraining
cargo xtask build # Build all books into site/ (local preview)
cargo xtask serve # Build and serve at http://localhost:3000
cargo xtask deploy # Build all books into docs/ (for GitHub Pages)
cargo xtask clean # Remove site/ and docs/
To build or serve a single book:
cd c-cpp-book && mdbook serve --open # http://localhost:3000
The site auto-deploys to GitHub Pages on push to main via .github/workflows/pages.yml. No manual steps needed.