1
Basi Rust: variabili (let, mut), tipi primitivi, funzioni, moduli
2
Ownership: semantica move, borrowing, riferimenti (&, &mut), lifetime
3
Regole di borrowing: un &mut OPPURE più &, nessun riferimento pendente
4
Struct, enum, pattern matching e destrutturazione
5
Trait: definizione, implementazione, vincoli di trait, macro derive
6
Generics: funzioni generiche, struct, enum con vincoli di trait
7
Lifetime: annotazioni ('a), elisione dei lifetime, static lifetime
8
Gestione errori: Result<T, E>, Option<T>, operatore ?, panic vs Result
9
Collezioni: Vec, HashMap, HashSet, iteratori e metodi (map, filter, collect)
10
Iteratori: trait Iterator, valutazione lazy, combinatori, cicli for
11
Pattern di ownership: Clone vs Copy, Rc/Arc, RefCell/Mutex per mutabilità interiore
12
Concorrenza: thread, Arc<Mutex<T>>, channel (mpsc), trait Send/Sync
13
Async/await: trait Future, async fn, .await, runtime Tokio, task async
14
Axum/Actix-web: routing, handler, extractor, middleware, gestione dello stato
15
Database: sqlx (controllo a tempo di compilazione), Diesel ORM, query async
16
Serializzazione: serde (Serialize, Deserialize), JSON, macro derive
17
Testing: #[test], #[cfg(test)], assert!, test di integrazione, mock
18
Macro: macro dichiarative (macro_rules!), macro procedurali, derive
19
Sicurezza della memoria: nessun puntatore null, nessun buffer overflow, sicurezza dei thread
20
Performance: astrazioni a costo zero, inlining, ottimizzazioni LLVM, profiling
21
Cargo: dipendenze (Cargo.toml), feature, workspace, script di build
22
Distribuzione: cross-compilazione, Docker, binari statici, profili di release