From e8295363f461923b76b6fc6d1270be515fef61ac Mon Sep 17 00:00:00 2001
From: Orestis Malaspinas <orestis.malaspinas@hesge.ch>
Date: Tue, 22 Jan 2019 13:47:14 +0100
Subject: [PATCH] ended borrowing

---
 presentation/intro.md | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/presentation/intro.md b/presentation/intro.md
index be2d852..7c264cb 100644
--- a/presentation/intro.md
+++ b/presentation/intro.md
@@ -326,6 +326,41 @@ fn main() {
 
 La référence est **vérouillée** personne d'autre ne peut modifier ou lire les données.
 
+## En pratique (2/2)
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let mut notebook = Vec::new(); // par défaut notebook est immutable
+
+    notebook.push("Il fait beau.");
+    notebook.push("Les oiseaux chantent.");
+
+    {
+		let mut_borrow = &mut notebook;
+		notebook.len(); // only mut_borrow can read or write.
+
+		mut_borrow.push("Je le peux.");
+	} // mutable borrow ends here
+
+	notebook.push("Je le peux aussi à présent.");
+
+}
+</code></pre>
+
+# Les lois de Rust
+
+## Les trois loi de la propriété
+
+1. Chaque valeur a une variable qui est son propriétaire (`owner`).
+2. Une valeur ne peut avoir qu'un seul propriétaire à chaque instant.
+3. Quand le programme sort de la portée du propriétaire, la valeur est détruite (`dropped`).
+
+## Les deux lois de l'emprunt
+
+1. On peut avoir autant de références **immutables** qu'on le shoutaire sur des données.
+2. On ne peut avoir **une seule** référence mutable sur des données.
+
+
 <!-- - `vector` et `string` sont alignés en mémoire.
 - références "light".
 - destruction déterministe. -->
-- 
GitLab