Skip to main content

Official Documentation

The Rust Programming Language

The official Rust book - comprehensive and beginner-friendly. Known as “the book” in the Rust community.

Rust by Example

Learn Rust through runnable examples covering all major language features.

Standard Library Documentation

Complete API documentation for Rust’s standard library with examples.

Rust Reference

Detailed technical reference for the Rust language specification.

Concept-Specific Resources

Ownership and Borrowing

Understanding Ownership

Chapter 4 of The Rust Book - deep dive into ownership, borrowing, and slices.

Visualizing Memory Layout

The Rustonomicon - advanced topics including memory layout and unsafe code.

Types and Patterns

Common Collections

Working with Vec, String, HashMap, and other standard collections.

Enums and Pattern Matching

Comprehensive guide to enums, Option, Result, and match expressions.

Error Handling

Error Handling

Understanding panic!, Result, and error propagation with the ? operator.

Error Handling in Depth

Practical examples of error handling patterns in Rust.

Interactive Learning

Rustlings

Small exercises to get you used to reading and writing Rust code. Install and practice locally.

Rust Playground

Online Rust compiler - test code snippets without installing anything.

Exercism Rust Track

100+ coding exercises with mentorship from experienced Rust developers.

Advent of Code in Rust

Solve programming puzzles in Rust - great for practice and learning.

Essential Tools

Development Tools

rustup

The Rust toolchain installer. Manages Rust versions, targets, and components.
# Install rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Update Rust
rustup update

# Check version
rustc --version

cargo

Rust’s build system and package manager. Included with rustup.
# Create new project
cargo new my_project

# Build project
cargo build

# Run project
cargo run

# Run tests
cargo test

Code Quality Tools

Clippy

A linter to catch common mistakes and improve your Rust code.
# Install
rustup component add clippy

# Run
cargo clippy

rustfmt

Automatic code formatter following Rust style guidelines.
# Install
rustup component add rustfmt

# Format code
cargo fmt

Documentation Tools

cargo doc

Generate documentation for your project and dependencies.
# Generate and open documentation
cargo doc --open

# Include private items
cargo doc --document-private-items

Video Courses and Tutorials

Video content can complement written documentation. These resources are highly recommended by the community.

Community Resources

Rust Users Forum

Ask questions, share projects, and discuss Rust with the community.

r/rust

Reddit’s Rust community - news, discussions, and weekly Q&A threads.

Rust Discord

Real-time chat with thousands of Rust developers. Great for quick questions.

This Week in Rust

Weekly newsletter covering Rust news, articles, and jobs.

Books and In-Depth Guides

Comprehensive guide covering systems programming with Rust. Best for developers with prior programming experience.
  • Deep technical coverage
  • Real-world examples
  • Advanced topics like concurrency and unsafe code
Learn Rust through hands-on systems programming projects.
  • Project-based learning
  • Focus on practical applications
  • Great for understanding low-level concepts
Build production-ready web applications with Rust.
  • Backend web development
  • Testing and CI/CD
  • Real-world architecture patterns
Available at zero2prod.com

Specialized Topics

Async Programming

Learn asynchronous programming with async/await syntax.

WebAssembly

Compile Rust to WebAssembly for web applications.

Embedded Rust

Program microcontrollers and embedded systems with Rust.

Command Line Apps

Build powerful and user-friendly CLI tools.

Cheat Sheets and Quick References

Rust Language Cheat Sheet

Quick reference for Rust syntax, types, and common patterns.

Rust Iterator Cheat Sheet

Visual guide to iterator methods and adapters.

Package Registry

crates.io

The official Rust package registry. Search for libraries (called “crates”) to use in your projects.Popular crates:
  • serde - Serialization/deserialization framework
  • tokio - Async runtime for I/O operations
  • clap - Command-line argument parser
  • reqwest - HTTP client
  • axum - Web framework
Bookmark the resources most relevant to your current learning stage. Don’t try to consume everything at once!

Back to Learning Path

Return to the recommended learning sequence

Build docs developers (and LLMs) love