Home / Rust Intermediate
Rust Intermediate
Level up from the basics: generics and traits in depth, lifetimes without fear, closures and iterators, serde and SQLite, then modules, testing, documentation and building command-line tools like a professional.
Course contents
Work top to bottom — the sidebar is the course. Topics later in the list assume the ones before them.
Generics
Start: Rust Generics ❯Traits
Start: Rust Traits ❯Clone, Compare & Sort
Start: Rust Clone & Copy ❯Conversions & Parsing
Start: Rust From & Into ❯Rust The Orphan Rule
Intermediate · ⏱ 11 min · standalone lesson
Maps in Depth
Start: Rust Entry API In Depth ❯Serde, JSON & CSV
- Rust JSON with Serde
- Rust Serde Attributes
- Rust Serde Nested Data
- Rust JSON Values in Depth
- Rust JSON Error Messages
- Rust TOML and YAML with Serde
- Rust Serde Custom Rules
- Rust CSV Data
SQLite
Start: Rust SQLite Databases ❯Rust Text Encodings
Intermediate · ⏱ 14 min · standalone lesson
Trait Bounds & impl Trait
- Rust Trait Bounds
- Rust Marker Traits
- Rust Where Clauses
- Rust Returning impl Trait
- Rust impl Trait in Depth
- Rust Trait Object Collections
Trait Patterns
- Rust Command Pattern
- Rust Strategy Pattern
- Rust Conditional & Blanket Impls
- Rust Supertraits
- Rust Sealed Traits
- Rust Trait Aliases
Borrow Checker in Depth
Start: Rust Two-Phase Borrows ❯Lifetimes
- Rust Lifetimes
- Rust Lifetime Elision
- Rust Non-Lexical Lifetimes
- Rust Temporary Lifetimes
- Rust Borrow Checker Blind Spots
- Rust Lifetime Bounds
'static & Struct Lifetimes
Start: Rust 'static Lifetimes ❯Operator Overloading
Start: Rust Operator Overloading ❯Associated Types
Start: Rust Associated Types ❯Phantom Types & Typestate
Start: Rust Phantom Types ❯Rust Common Error Codes
Intermediate · ⏱ 10 min · standalone lesson
Error Handling in Depth
Start: Rust Error Source Chains ❯Rust Closures
Intermediate · ⏱ 9 min · standalone lesson
Iterators
Start: Rust Iterators ❯More Iterator Adapters
- Rust Peekable Iterators
- Rust More Iterator Adapters
- Rust Windows & Chunks
- Rust Consuming Iterators
- Rust Fold and Reduce
Rust Luhn Checksum Project
Intermediate · ⏱ 14 min · standalone lesson
Closure Captures
Start: Rust Closure Captures ❯Closures in Depth
Start: Rust How Closures Work ❯Callbacks & Higher-Order Functions
Start: Rust Callbacks in Structs ❯Custom Iterators
Start: Rust Custom Iterators ❯Modules & Crates
Start: Rust Modules ❯Rust Attributes
Intermediate · ⏱ 14 min · standalone lesson
Conditional Compilation
Start: Rust Conditional Compilation ❯Cross-Platform Code
- Rust One API, Per-Platform Modules
- Rust Paths and Text Across Platforms
- Rust Testing the Other Platform's Code
Testing & Benchmarking
- Rust Testing
- Rust Integration Tests
- Rust Test Assertions
- Rust Test Organisation
- Rust Running Tests
- Rust Property Tests
- Rust Measuring Time
- Rust Benchmarks
- Rust Benchmarking with Criterion
Lint & Format Tools
Start: Rust Clippy ❯Documentation
- Rust Documentation
- Rust Documentation Attributes
- Rust Doctest Options
- Rust Intra-Doc Links
- Rust Including Files as Docs
- Rust Cargo Doc Options
- Rust Rustdoc Lints
CLI Arguments
Start: Rust Command Line Arguments ❯CLI I/O & Signals
- Rust Reading Standard Input
- Rust Output Streams
- Rust Broken Pipes
- Rust Interactive Prompts
- Rust Shell Completions
- Rust Handling Signals
Reading Files & Paths
- Rust Reading Files
- Rust Reading Big Files
- Rust Paths
- Rust Path Components
- Rust Editing Paths
- Rust Real Paths
Writing & Managing Files
Start: Rust Writing Files ❯File Metadata & Errors
Start: Rust File Metadata ❯Rust Environment Variables
Intermediate · ⏱ 8 min · standalone lesson
Rust Mini-Grep Project
Intermediate · ⏱ 14 min · standalone lesson
Rust Calculator Project
Intermediate · ⏱ 12 min · standalone lesson
Rust Image Combiner Project
Intermediate · ⏱ 14 min · standalone lesson
Rust Child Processes
Intermediate · ⏱ 10 min · standalone lesson
Rust Workspaces & Publishing
Advanced · ⏱ 9 min · standalone lesson