Fonctionnement de la possession

1. Grands principes

Les principes de la possession sont extrêmement simples, c’est leur mise en œuvre concrète qui peut parfois s’avérer compliquée. Voici les deux principes en question :

1. Toute valeur en Rust a un propriétaire et un seul.

2. Quand le propriétaire sort de la portée, la valeur est supprimée.

Cela appelle trois remarques :

  • Une valeur peut changer de propriétaire. Auquel cas, le premier propriétaire n’a plus aucun pouvoir sur la valeur après cession.

  • Cela s’applique aussi bien à des valeurs stockées sur le tas qu’à celles stockées dans la pile.

  • L’unique propriété serait limitative : c’est pour cela que l’on peut emprunter une valeur (emprunt, borrowing). L’utiliser sans pouvoir la modifier, avant de la rendre. Emprunt borrowing

2. Exemples relatifs à la propriété

Dans cet exemple, nous allons tâcher de détailler le fonctionnement de la possession, pour deux valeurs :

  • Une valeur entière stockée sur la pile.

  • Une valeur relative à une chaîne de caractères, stockée dans le tas.

L’exemple proposera différentes séquences dans lesquelles la compilation échoue car le code enfreint justement les grands principes de la possession.

a. Propriété dans le tas Tas

On définit une chaîne de caractères allouée...

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
Introduction
Suivant
Fonctionnement de l'emprunt