Le code Rust non sûr Code Rust non sûr
1. Introduction
Voici une autre notion susceptible d’être rencontrée au gré de la lecture de codes, ou même nécessaire dans certains contextes de développement. Comme précédemment, un mot-clé permet d’identifier que vous êtes en présence d’un code Rust non sûr (unsafe) : le unsafemot-clé unsafe. Le lien suivant correspond à la page de documentation officielle de ce mot-clé : https://doc.rust-lang.org/std/keyword.unsafe.html
Ce mot-clé unsafe permet d’indiquer ceci au compilateur : « n’applique pas les règles de sécurité habituelles, relatives au langage Rust ». La compilation permet donc dans ce cas précis de faire des choses habituellement interdites en langage Rust.
Les actions qui, concrètement, peuvent faire l’objet d’un traitement non sûr sont (entre autres) les suivantes :
-
Déréférencer un pointeur brut (action rendue strictement impossible par le compilateur).
-
Modifier une variable statique mutable (également impossible en théorie : une telle variable est perçue en Rust comme une constante).
-
Implémenter des traits non sécurisés. Trait:non sécurisé
D’autres actions non sécurisées existent, mais les trois citées ici sont sans doute les principales.