• D’approfondir les abstractions du langage : traits avancés, généricité, dispatch, closures.
• De comprendre ce qui se passe sous le capot : représentation mémoire, monomorphisation, optimisations du compilateur.
• De gérer des cas complexes d’ownership et de lifetimes, y compris avec smart pointers et types non-move.
• De concevoir des systèmes concurrents robustes et performants, en exploitant async/await, les runtimes et les primitives de synchronisation.
• D’acquérir une culture de la performance grâce aux outils de profiling et de benchmarking.
• D’aborder les mécanismes quasi-réflexifs de Rust via les macros, notamment procédurales.
• De consolider ces compétences à travers un projet fil rouge appliquant les notions avancées.