Introduction Possession Emprunt
En Rust, on maîtrise totalement la gestion de la mémoire. Tant du point de vue de l’allocation que de celui de la désallocation. Cette opération s’effectue, bien sûr, sans garbage collector (ramasse-miettes) comme c’est le cas en C# ou en Java. On est significativement plus dans la situation du C++, dans laquelle la programmeuse ou le programmeur alloue et désalloue à sa guise.
Un ramasse-miettes est un dispositif en code informatique en charge de la désallocation automatique de la mémoire, dès lors qu’elle n’est plus utilisée (ou supposée l’être). La personne en charge du développement n’a plus alors (en théorie) à se poser la question de la libération de la mémoire allouée.
Il existe cependant une différence notable entre C++ et Rust : en C++, une situation problématique n’apparaîtra qu’à l’exécution, que ce soit le fait d’accéder à un espace mémoire déjà désallouée, ou encore que l’on essaie de stocker de la donnée dans un espace non encore alloué. En Rust, ce type de problème est détecté dès la compilation et entraîne un échec de celle-ci. En cas d’erreur, il convient de corriger le code, afin que la compilation réussisse, donnant ainsi la garantie que l’exécution se passera...