Fonctionnalités avancées
Jusqu’ici, vous avez appris les fonctionnalités les plus utilisées du langage de programmation Rust. Avant de commencer le nouveau projet du chapitre 21, nous allons regarder quelques aspects du langage que vous pourriez rencontrer de temps à autre mais que vous n’utilisez pas quotidiennement. Vous pouvez utiliser ce chapitre comme référence à consulter lorsque vous rencontrerez des éléments de Rust qui vous sont inconnus. Les fonctionnalités traitées ici sont utiles dans des situations très spécifiques. Même si vous n’allez pas les rencontrer très souvent, nous voulons nous assurer que vous comprenez bien toutes les fonctionnalités que Rust peut offrir.
Dans ce chapitre, nous allons voir :
- le Rust non sécurisé (unsafe) : comment désactiver certaines des garanties de Rust et prendre la responsabilité de veiller vous-même manuellement à les assurer ;
- les traits avancés : les types associés, les types de paramètres par défaut, la syntaxe entièrement détaillée, les supertraits et le motif newtype en lien avec les traits ;
- les types avancés : en savoir plus sur le motif newtype, les alias de type, le type never et les types à taille dynamique ;
- les fonctions et fermetures avancées : les pointeurs de fonctions et la façon de retourner des fermetures ;
- les macros : une manière de définir du code qui produit encore plus de code au moment de la compilation.
Voilà pléthore de fonctionnalités de Rust dans lesquelles chacun y trouvera son compte ! Commençons tout de suite !