Resources
Need Rust learning materials? This curated list provides official documentation, books, tools, and community resources for all skill levels.
Official Documentation
The Rust Programming Language (The Book)
URL: https://doc.rust-lang.org/book/
Description: Comprehensive official tutorial covering Rust from basics to advanced topics.
Best for: Systematic learning, beginners to intermediate
Coverage: Ownership, types, error handling, concurrency, advanced features
Rust by Example
URL: https://doc.rust-lang.org/rust-by-example/
Description: Learn Rust through runnable examples.
Best for: Hands-on learners, quick concept lookup
Coverage: All major language features with executable code
The Rustonomicon
URL: https://doc.rust-lang.org/nomicon/
Description: The dark arts of unsafe Rust.
Best for: Advanced users working with unsafe code
Coverage: Unsafe Rust, FFI, memory layout, advanced patterns
Standard Library Documentation
URL: https://doc.rust-lang.org/std/
Description: Complete API reference for standard library.
Best for: Looking up standard library functions and types
Features: Search, examples, source code links
The Cargo Book
URL: https://doc.rust-lang.org/cargo/
Description: Complete guide to Rust’s package manager.
Best for: Understanding cargo, dependencies, workspaces
Coverage: Project management, building, testing, publishing
Async Rust Book
URL: https://rust-lang.github.io/async-book/
Description: Official guide to asynchronous programming.
Best for: Learning async/await, futures, async patterns
Coverage: Async fundamentals, executors, streams, pinning
Books and Courses
Programming Rust (O’Reilly)
Authors: Jim Blandy, Jason Orendorff, Leonora F.S. Tindall
Description: Comprehensive Rust book for experienced programmers.
Best for: Systems programmers, experienced developers
Coverage: Deep dive into ownership, concurrency, advanced patterns
Rust for Rustaceans
Author: Jon Gjengset
Description: Idiomatic Rust for experienced Rustaceans.
Best for: Intermediate to advanced Rust developers
Coverage: Advanced patterns, performance, production practices
Zero To Production In Rust
Author: Luca Palmieri
Description: Backend development with Rust.
Best for: Web developers, API development
Coverage: REST APIs, databases, testing, deployment
Comprehensive Rust (Google)
URL: https://google.github.io/comprehensive-rust/
Description: Google’s Rust course.
Best for: Structured learning with exercises
Coverage: Fundamentals, Android, concurrency, async
Rust Cookbook
URL: https://rust-lang-nursery.github.io/rust-cookbook/
Description: Collection of simple recipes for common tasks.
Best for: Quick solutions to common problems
Domain-Specific Resources
Embedded Rust Book
URL: https://rust-embedded.github.io/book/
Description: Rust for embedded systems.
Best for: Embedded developers, IoT, no_std environments
Coverage: HAL, bare metal, debugging, real-time systems
The WebAssembly Book
URL: https://rustwasm.github.io/docs/book/
Description: Rust and WebAssembly.
Best for: WASM development, browser applications
Coverage: wasm-bindgen, wasm-pack, performance optimization
Command Line Apps in Rust
URL: https://rust-cli.github.io/book/
Description: Building CLI tools with Rust.
Best for: CLI developers
Coverage: Argument parsing, configuration, error handling
The Little Book of Rust Macros
URL: https://veykril.github.io/tlborm/
Description: Comprehensive macro guide.
Best for: Understanding and writing macros
Coverage: Declarative and procedural macros, patterns
Tools and Ecosystem
rustup
URL: https://rust-lang.github.io/rustup/
Description: Rust toolchain installer and version manager.
Commands:
rustup update # Update Rust
rustup default stable # Set default toolchain
rustup component add clippy # Add componentCargo
Description: Rust’s package manager and build tool.
Essential commands:
cargo new my_project # Create project
cargo build # Build
cargo run # Build and run
cargo test # Run tests
cargo doc --open # Build and view docsrustfmt
URL: https://github.com/rust-lang/rustfmt
Description: Automatic code formatter.
Usage:
cargo fmt # Format entire project
rustfmt src/main.rs # Format specific fileConfiguration: .rustfmt.toml in project root
Clippy
URL: https://github.com/rust-lang/rust-clippy
Description: Linter catching common mistakes and suggesting improvements.
Usage:
cargo clippy # Run linter
cargo clippy --fix # Apply automatic fixesrust-analyzer
URL: https://rust-analyzer.github.io/
Description: Language Server Protocol implementation for Rust.
Features: Autocomplete, go-to-definition, type hints, error checking
Install: Via editor extension (VS Code, IntelliJ, Vim, Emacs)
cargo-edit
URL: https://github.com/killercup/cargo-edit
Description: Extends cargo with dependency management commands.
Install:
cargo install cargo-editUsage:
cargo add serde # Add dependency
cargo rm serde # Remove dependency
cargo upgrade # Upgrade dependenciescargo-watch
URL: https://github.com/watchexec/cargo-watch
Description: Watches files and runs cargo commands on changes.
Install:
cargo install cargo-watchUsage:
cargo watch -x run # Run on file changes
cargo watch -x test # Test on changescargo-expand
URL: https://github.com/dtolnay/cargo-expand
Description: Shows macro expansion.
Usage:
cargo expand # Expand all macrosCriterion
URL: https://github.com/bheisler/criterion.rs
Description: Statistics-driven benchmarking library.
Best for: Performance measurement
Popular Crates
Web Development
- actix-web: Fast, pragmatic web framework
- axum: Ergonomic web framework built on Tokio
- rocket: Web framework with focus on developer experience
- warp: Composable web framework
Async Runtime
- tokio: Most popular async runtime
- async-std: Async version of standard library
Serialization
- serde: Serialization/deserialization framework
- serde_json: JSON support for serde
- bincode: Binary encoding for serde
Database
- sqlx: Async, pure-Rust SQL toolkit
- diesel: Safe, extensible ORM
- sea-orm: Async ORM
- rusqlite: SQLite bindings
CLI
- clap: Command-line argument parser
- structopt: Parse CLI args to structs (deprecated, use clap v3+)
Error Handling
- thiserror: Derive Error for custom errors
- anyhow: Flexible error handling for applications
Testing
- proptest: Property-based testing
- mockall: Mock object library
HTTP Client
- reqwest: HTTP client
- hyper: Low-level HTTP implementation
Community Resources
Official Forums
Rust Users Forum: https://users.rust-lang.org/
- Questions and discussions
- Friendly, helpful community
- Great for beginners
Discord
Rust Discord: https://discord.com/invite/rust-lang
- Real-time chat
- Channels for various topics
- Community learning
r/rust: https://www.reddit.com/r/rust/
- News, discussions, showcases
- Weekly “What Are You Working On?”
- Learning resources shared
This Week in Rust
URL: https://this-week-in-rust.org/
- Weekly newsletter
- Curated news, articles, crates
- Job listings, events
Rust Blog
URL: https://blog.rust-lang.org/
- Official announcements
- Release notes
- RFC discussions
crates.io
URL: https://crates.io/
- Official package registry
- Browse popular crates
- Documentation links to docs.rs
docs.rs
URL: https://docs.rs/
- Automatic documentation hosting
- All published crates documented
- Multiple versions available
Learning Paths
Path 1: Systems Programming
- Start: The Rust Book (chapters 1-10)
- Practice: Rust by Example
- Deep dive: Programming Rust book
- Advanced: The Rustonomicon
- Projects: File systems, parsers, compression tools
Path 2: Web Development
- Start: The Rust Book (fundamentals)
- Framework: Actix-web or Axum tutorial
- Database: SQLx or Diesel guide
- Async: Async Rust Book
- Production: Zero To Production In Rust
- Projects: REST APIs, microservices
Path 3: WebAssembly
- Start: The Rust Book (chapters 1-15)
- WASM: Rust and WebAssembly Book
- Tooling: wasm-pack tutorial
- Practice: Build browser apps
- Projects: Games, visualizations, compute-heavy web apps
Path 4: Embedded Systems
- Start: The Rust Book (fundamentals)
- Embedded: Embedded Rust Book
- HAL: Platform-specific HAL documentation
- Practice: Discovery book (microcontrollers)
- Projects: IoT devices, robotics
Path 5: CLI Tools
- Start: The Rust Book (chapters 1-12)
- CLI: Command Line Apps in Rust
- Libraries: clap, structopt documentation
- Distribution: Packaging and cross-compilation
- Projects: Development tools, utilities
Video Resources
YouTube Channels
- Jon Gjengset: Deep-dives, live coding, advanced topics
- Let’s Get Rusty: Tutorials, news, quick tips
- Ryan Levick: Microsoft engineer, beginner-friendly
- No Boilerplate: Fast-paced Rust advocacy
Online Courses
- Rust Programming Course (Udemy): Comprehensive beginner course
- Ultimate Rust Crash Course (Udemy): Fast-paced introduction
- Rustlings: Interactive exercises (GitHub: rust-lang/rustlings)
Practice Platforms
Exercism
URL: https://exercism.org/tracks/rust
- Mentored code practice
- 100+ exercises
- Community feedback
Rustlings
URL: https://github.com/rust-lang/rustlings
- Small exercises to learn Rust
- Install and run locally
- Gradual difficulty increase
Advent of Code
URL: https://adventofcode.com/
- Daily programming puzzles
- Great for practicing Rust
- Active Rust community participation
Staying Updated
- This Week in Rust: Weekly newsletter
- Rust Blog: Official announcements
- r/rust: Daily discussions
- Rust Discord: Real-time community
- Twitter: Follow @rustlang, Rust developers
- RFCs: https://github.com/rust-lang/rfcs
Getting Help
When Stuck
- Search: Rust Users Forum, Stack Overflow
- Ask: Rust Users Forum (detailed questions)
- Chat: Discord (quick questions)
- Documentation: docs.rs, The Book
- Examples: Rust by Example, crate examples
How to Ask Good Questions
- Provide minimal reproducible example
- Show what you tried
- Include error messages
- Specify Rust version (
rustc --version) - Be specific about goal
Contributing to Rust
Ways to Contribute
- Documentation: Improve docs, write examples
- Rust itself: https://github.com/rust-lang/rust
- Crates: Contribute to popular crates
- Teaching: Answer questions, write tutorials
- RFCs: Participate in language design
Related Resources
- Cheat Sheet - Quick syntax reference
- Glossary - Terminology definitions
- Tutorials - Comprehensive learning
- Cookbook - Practical recipes
Use these resources to accelerate your Rust journey!