1
Rust basics: variables (let, mut), primitive types, functions, modules
2
Ownership: move semantics, borrowing, references (&, &mut), lifetimes
3
Borrowing rules: one &mut OR multiple &, no dangling references
4
Structs, enums, pattern matching and destructuring
5
Traits: definition, implementation, trait bounds, derive macros
6
Generics: generic functions, structs, enums with trait bounds
7
Lifetimes: annotations ('a), lifetime elision, static lifetime
8
Error handling: Result<T, E>, Option<T>, ? operator, panic vs Result
9
Collections: Vec, HashMap, HashSet, iterators and methods (map, filter, collect)
10
Iterators: Iterator trait, lazy evaluation, combinators, for loops
11
Ownership patterns: Clone vs Copy, Rc/Arc, RefCell/Mutex for interior mutability
12
Concurrency: threads, Arc<Mutex<T>>, channels (mpsc), Send/Sync traits
13
Async/await: Future trait, async fn, .await, Tokio runtime, async tasks
14
Axum/Actix-web: routing, handlers, extractors, middleware, state management
15
Database: sqlx (compile-time checking), Diesel ORM, async queries
16
Serialization: serde (Serialize, Deserialize), JSON, derive macros
17
Testing: #[test], #[cfg(test)], assert!, integration tests, mocking
18
Macros: declarative macros (macro_rules!), procedural macros, derive
19
Memory safety: no null pointers, no buffer overflows, thread safety
20
Performance: zero-cost abstractions, inlining, LLVM optimizations, profiling
21
Cargo: dependencies (Cargo.toml), features, workspaces, build scripts
22
Deployment: cross-compilation, Docker, static binaries, release profiles