{"id":47620337,"url":"https://github.com/microsoft/RustTraining","last_synced_at":"2026-04-02T15:01:00.706Z","repository":{"id":346534095,"uuid":"1180468714","full_name":"microsoft/RustTraining","owner":"microsoft","description":"Beginner, advanced, expert level Rust training material","archived":false,"fork":false,"pushed_at":"2026-04-02T02:00:03.000Z","size":1686,"stargazers_count":12243,"open_issues_count":7,"forks_count":869,"subscribers_count":61,"default_branch":"main","last_synced_at":"2026-04-02T14:47:56.421Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-13T04:25:17.000Z","updated_at":"2026-04-02T14:25:33.000Z","dependencies_parsed_at":"2026-03-25T11:02:14.587Z","dependency_job_id":null,"html_url":"https://github.com/microsoft/RustTraining","commit_stats":null,"previous_names":["microsoft/rusttraining"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/RustTraining","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FRustTraining","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FRustTraining/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FRustTraining/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FRustTraining/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/RustTraining/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FRustTraining/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31308577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-01T22:00:30.192Z","updated_at":"2026-04-02T15:01:00.698Z","avatar_url":"https://github.com/microsoft.png","language":"Rust","readme":"\u003cdiv style=\"background-color: #d9d9d9; padding: 16px; border-radius: 6px; color: #000000;\"\u003e\n\n**License** This project is dual-licensed under the [MIT License](LICENSE) and [Creative Commons Attribution 4.0 International (CC-BY-4.0)](LICENSE-DOCS).\n\n\u003c/div\u003e\n\n\u003cdiv style=\"background-color: #d9d9d9; padding: 16px; border-radius: 6px; color: #000000;\"\u003e\n\n**Trademarks** This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n\u003c/div\u003e\n\n# Rust Training Books\n\nSeven training courses covering Rust from different programming backgrounds, plus deep-dives on async, advanced patterns, and engineering practices.\n\nThis 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.\n\n\u003e **Disclaimer:** These books are training material, not an authoritative reference. While we strive for accuracy, always verify critical details against the [official Rust documentation](https://doc.rust-lang.org/) and the [Rust Reference](https://doc.rust-lang.org/reference/).\n\n### Inspirations \u0026 Acknowledgments\n\n- [**The Rust Programming Language**](https://doc.rust-lang.org/book/) — the foundation everything builds on\n- [**Jon Gjengset**](https://www.youtube.com/c/JonGjengset) — deep-dive streams on advanced Rust internals, `Crust of Rust` series\n- [**withoutboats**](https://without.boats/blog/) — async design, `Pin`, and the futures model\n- [**fasterthanlime (Amos)**](https://fasterthanli.me/) — systems programming from first principles, engaging long-form explorations\n- [**Mara Bos**](https://marabos.nl/) — *Rust Atomics and Locks*, concurrency primitives\n- [**Aleksey Kladov (matklad)**](https://matklad.github.io/) — Rust analyzer insights, API design, error handling patterns\n- [**Niko Matsakis**](https://smallcultfollowing.com/babysteps/) — language design, borrow checker internals, Polonius\n- [**Rust by Example**](https://doc.rust-lang.org/rust-by-example/) and [**Rustonomicon**](https://doc.rust-lang.org/nomicon/) — practical patterns and unsafe deep-dives\n- [**This Week in Rust**](https://this-week-in-rust.org/) — community discoveries that shaped many examples\n- …and many others in the **Rust community at large** whose blog posts, conference talks, RFCs, and forum discussions have informed this material — too numerous to list individually, but deeply appreciated\n\n## 📖 Start Reading\n\nPick the book that matches your background. Books are grouped by complexity so you can chart a learning path:\n\n| Level | Description |\n|-------|-------------|\n| 🟢 **Bridge** | Learn Rust coming from another language — start here |\n| 🔵 **Deep Dive** | Focused exploration of a major Rust subsystem |\n| 🟡 **Advanced** | Patterns and techniques for experienced Rustaceans |\n| 🟣 **Expert** | Cutting-edge type-level and correctness techniques |\n| 🟤 **Practices** | Engineering, tooling, and production readiness |\n\n| Book | Level | Who it's for |\n|------|-------|-------------|\n| [**Rust for C/C++ Programmers**](c-cpp-book/src/SUMMARY.md) | 🟢 Bridge | Move semantics, RAII, FFI, embedded, no_std |\n| [**Rust for C# Programmers**](csharp-book/src/SUMMARY.md) | 🟢 Bridge | Swift / C# / Java → ownership \u0026 type system |\n| [**Rust for Python Programmers**](python-book/src/SUMMARY.md) | 🟢 Bridge | Dynamic → static typing, GIL-free concurrency |\n| [**Async Rust**](async-book/src/SUMMARY.md) | 🔵 Deep Dive | Tokio, streams, cancellation safety |\n| [**Rust Patterns**](rust-patterns-book/src/SUMMARY.md) | 🟡 Advanced | Pin, allocators, lock-free structures, unsafe |\n| [**Type-Driven Correctness**](type-driven-correctness-book/src/SUMMARY.md) | 🟣 Expert | Type-state, phantom types, capability tokens |\n| [**Rust Engineering Practices**](engineering-book/src/SUMMARY.md) | 🟤 Practices | Build scripts, cross-compilation, CI/CD, Miri |\n\nEach book has 15–16 chapters with Mermaid diagrams, editable Rust playgrounds, exercises, and full-text search.\n\n\u003e **Tip:** You can read the markdown source directly on GitHub, or browse the rendered site with sidebar navigation and search at the [GitHub Pages site](https://microsoft.github.io/RustTraining/).\n\u003e\n\u003e **Local serving:** For the best reading experience (keyboard navigation between chapters, instant search, offline access), clone the repo and run:\n\u003e ```\n\u003e # Install Rust via rustup if you don't have it yet:\n\u003e # https://rustup.rs/\n\u003e\n\u003e cargo install mdbook@0.4.52 mdbook-mermaid@0.14.0\n\u003e cargo xtask serve          # builds all books and opens a local server\n\u003e ```\n\n---\n\n## 🔧 For Maintainers\n\n\u003cdetails\u003e\n\u003csummary\u003eBuilding, serving, and editing the books locally\u003c/summary\u003e\n\n### Prerequisites\n\nInstall [Rust via **rustup**](https://rustup.rs/) if you haven't already, then:\n\n```bash\ncargo install mdbook@0.4.52 mdbook-mermaid@0.14.0\n```\n\n### Build \u0026 serve\n\n```bash\ncargo xtask build               # Build all books into site/ (local preview)\ncargo xtask serve               # Build and serve at http://localhost:3000\ncargo xtask deploy              # Build all books into docs/ (for GitHub Pages)\ncargo xtask clean               # Remove site/ and docs/\n```\n\nTo build or serve a single book:\n\n```bash\ncd c-cpp-book \u0026\u0026 mdbook serve --open    # http://localhost:3000\n```\n\n### Deployment\n\nThe site auto-deploys to GitHub Pages on push to `main` via `.github/workflows/pages.yml`. No manual steps needed.\n\n\u003c/details\u003e\n","funding_links":[],"categories":["\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust","Rust","Resources"],"sub_categories":["Web programming"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2FRustTraining","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2FRustTraining","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2FRustTraining/lists"}