fn borrow(_notebook: &Vec<&str>) { // _notebook prend l'ownership de la référence vers un Vec
    // on peut lire les données contenues dans notebook
} // la référence est détruite, les données sont rendues à notebook

fn main() {
    let mut notebook = Vec::new(); // par défaut notebook est immutable

    notebook.push("Il fait beau.");
    notebook.push("Les oiseaux chantent.");

    borrow(&notebook); // on crée une référence et on la passe à borrow
    borrow(&notebook); // on peut réutiliser notebook
    {
        let n = &notebook;
        borrow(n);
        borrow(&notebook);

        // n.push("Je préférerais regarder la télé.") // attention on a emprunté notebook
                                                      // On ne peut pas le modifier
        // notebook.push("Ou sortir dans le jardin.")
    } // la référence n est détruite
    borrow(&notebook); // on peut réutiliser notebook
}
