1
Rust básico: variáveis (let, mut), tipos primitivos, funções, módulos
2
Ownership: move semantics, borrowing, referências (&, &mut), lifetimes
3
Regras de borrowing: um &mut OU múltiplos &, sem referências pendentes
4
Structs, enums, pattern matching e destructuring
5
Traits: definição, implementação, trait bounds, derive macros
6
Generics: funções genéricas, structs, enums com trait bounds
7
Lifetimes: anotações ('a), lifetime elision, static lifetime
8
Tratamento de erros: Result<T, E>, Option<T>, operador ?, panic vs Result
9
Coleções: Vec, HashMap, HashSet, iteradores e métodos (map, filter, collect)
10
Iteradores: trait Iterator, avaliação lazy, combinadores, loops for
11
Padrões de ownership: Clone vs Copy, Rc/Arc, RefCell/Mutex para mutabilidade interior
12
Concorrência: threads, Arc<Mutex<T>>, channels (mpsc), Send/Sync traits
13
Async/await: trait Future, async fn, .await, Tokio runtime, async tasks
14
Axum/Actix-web: routing, handlers, extractors, middleware, gerenciamento de estado
15
Banco de dados: sqlx (verificação em tempo de compilação), Diesel ORM, consultas assíncronas
16
Serialização: serde (Serialize, Deserialize), JSON, derive macros
17
Testes: #[test], #[cfg(test)], assert!, integration tests, mocking
18
Macros: macros declarativas (macro_rules!), macros procedurais, derive
19
Segurança de memória: sem null pointers, sem buffer overflows, thread safety
20
Performance: abstrações de custo zero, inlining, otimizações LLVM, profiling
21
Cargo: dependências (Cargo.toml), features, workspaces, build scripts
22
Deploy: compilação cruzada, Docker, binários estáticos, release profiles