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.

2. Déréférencer...

Pour consulter la suite, découvrez le livre suivant :
couv_EIRUST.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Les objets-traits
Suivant
Introduction