Memory safety without garbage collection — master Ownership, Borrowing, Lifetimes, and Traits.
Master Rust: the Ownership model, mutable and immutable borrowing (&, &mut), lifetimes ('a), Pattern Matching, Enums with data (Option, Result), Traits, Cargo package management, and fearlessly concurrent systems programming.
Why Rust, Cargo package manager (cargo build, cargo test), and main.rs.
Immutable by default (let), explicit mutability (let mut), constants, and variable shadowing.
The 3 Ownership rules, stack vs heap data, and the drop function.
The Borrow Checker, immutable borrows (&T), mutable borrows (&mut T), and data race prevention.
String slices (&str), array slices (&[T]), and contiguous view references.
Classic structs, tuple structs, impl blocks, and associated functions (Self::new).
Enums with payload data, the Option<T> type (no nulls), and match expressions.
Recoverable errors with Result<T, E>, unrecoverable panic!, and the '?' question mark operator.
Defining traits, implementing traits for types, trait bounds (impl Trait), and derive macros.
Lifetime annotations, the borrow checker's lifetime validation, and 'static lifetime.
Box<T>, Arc<T>, Mutex<T>, std::thread::spawn, and message-passing channels (mpsc).
Master Unsafe Rust: raw pointers (`*const T`, `*mut T`), upholding memory invariants, foreign function interface (FFI), and detecting UB with Miri.
Master lock-free Rust concurrency: CPU memory barriers (`Acquire`, `Release`, `SeqCst`), `AtomicPtr`, and epoch-based GC with Crossbeam.
Master Async Rust internals: manual `Future` trait implementation, `Pin<&mut Self>`, `Context`/`Waker`, and Tokio's epoll reactor.
Build custom Rust compilers with Procedural Macros: Derive macros (`#[derive(Custom)]`), Attribute macros, Function-like macros, and AST parsing with `syn` and `quote`.
Optimize systems memory: custom allocators with `GlobalAlloc`, bump allocation arenas, and portable vectorization with `std::simd`.