Home / Rust Advanced
Rust Advanced
Go deep: networking, dates, logging and publishing craft; Box, Rc, Arc and interior mutability; threads, channels and shared state without data races; then unsafe Rust, FFI, macros and advanced patterns.
Course contents
Work top to bottom — the sidebar is the course. Topics later in the list assume the ones before them.
TCP
- Rust TCP Basics
- Rust Socket Addresses
- Rust DNS Lookups
- Rust TCP Options & Timeouts
- Rust Half-Close with shutdown
- Rust Network Errors
HTTP & UDP
Start: Rust HTTP by Hand ❯Dates & Times
- Rust Dates & Times
- Rust Times of Day
- Rust Date Arithmetic
- Rust Date Format Codes
- Rust Time Zones
- Rust Named Time Zones
- Rust Timestamps in Depth
- Rust Date Recipes
Logging & Tracing
- Rust Logging
- Rust Log Filters in Practice
- Rust Tracing Events and Spans
- Rust Tracing Instrument and Fields
- Rust Tracing EnvFilter
- Rust Log or Tracing?
- Rust Observability in Production
URLs & HTTP Client
Start: Rust URLs ❯Release & Publishing
Start: Rust Release Profiles ❯Dependencies & Features
- Rust Cargo Dependencies
- Rust Target-Specific Dependencies
- Rust Patching Dependencies
- Rust Cargo Features
- Rust Feature Unification
Project Layout & Build
Start: Rust Project Layout ❯API Design
Start: Rust API Naming ❯Box & Smart Pointers
Start: Rust Smart Pointers ❯Trait Objects & Dispatch
- Rust Trait Objects
- Rust Object Safety Rules
- Rust On-Stack Dynamic Dispatch
- Rust Choosing a Dispatch Style
Recursive Data Structures
Start: Rust Linked Lists ❯Drop, RAII & Custom Pointers
Start: Rust Deref & Drop ❯Rc, RefCell & Cycles
Start: Rust Rc & RefCell ❯Rust Fearless Concurrency
Advanced · ⏱ 8 min · standalone lesson
Threads
Start: Rust Threads ❯Channels
Start: Rust Channels ❯Mutex & Arc
Start: Rust Mutex Basics ❯Atomics & Once Values
Start: Rust Atomics ❯Rust Thread Parking
Advanced · ⏱ 9 min · standalone lesson
Barriers & Condvar
Start: Rust Barriers ❯Rust Send & Sync
Advanced · ⏱ 9 min · standalone lesson
Rust Dining Philosophers
Advanced · ⏱ 12 min · standalone lesson
Thread Pools & Rayon
- Rust Thread Pools
- Rust Parallel Iterators
- Rust Parallel Map & Reduce
- Rust Parallel Sorting
- Rust Rayon Thread Pools
- Rust Rayon Compile Errors
Rust Deadlock Detection
Advanced · ⏱ 11 min · standalone lesson
Unsafe Rust
Start: Rust Unsafe ❯Rust Uninitialized Memory
Advanced · ⏱ 10 min · standalone lesson
Rust Inline Assembly
Advanced · ⏱ 11 min · standalone lesson
Unsafe Data & Layout
Start: Rust Static Variables ❯FFI Basics
Start: Rust FFI ❯FFI in Depth
- Rust FFI C Strings in Depth
- Rust FFI Error Codes
- Rust FFI Repr in Depth
- Rust FFI Tooling: Link and Bindgen
WebAssembly
Start: Rust WebAssembly ❯Rust Miri
Advanced · ⏱ 9 min · standalone lesson
no_std
- Rust Without the Standard Library
- Rust no_std Programs: Entry Points & Panics
- Rust Libraries That Work With or Without std
Declarative Macros
- Rust Macros
- Rust Declarative Macros
- Rust Macro Internal Rules
- Rust Macro Designators
- Rust Recursive Macros
- Rust TT Munchers
Macro Patterns
- Rust Push-Down Accumulation
- Rust Macro Callbacks
- Rust Counting with Macros
- Rust Debugging Macros
- Rust DRY Macros
- Rust Macro DSLs
Procedural Macros & Derives
- Rust Procedural Macros
- Rust The Proc-Macro Workspace
- Rust Token Streams in Depth
- Rust Writing a Derive Macro
- Rust Reading a Struct with syn
- Rust Macro Errors with Spans
- Rust Attribute & Function-Like Macros
- Rust Derivable Traits
Editions & Keywords
Start: Rust Editions ❯Subtyping & Variance
Start: Rust Subtyping ❯Advanced Types & Functions
Start: Rust Advanced Types & Traits ❯Performance
Start: Rust Performance ❯Sizes & Memory Layout
Start: Rust Type Sizes ❯Hashing
- Rust Faster Hashing
- Rust Hashing a Value Yourself
- Rust Write Your Own Hasher
- Rust SHA-256 Fingerprints
Rust UUIDs for IDs
Advanced · ⏱ 10 min · standalone lesson
Rust Token Maker Project
Advanced · ⏱ 13 min · standalone lesson
Rust Capstone
Advanced · ⏱ 7 min · standalone lesson
Rust Next Steps
Advanced · ⏱ 8 min · standalone lesson