On utilise un lifetime commun aux deux arguments car le résultat peut dépendre des deux :
On utilise une lifetime commun aux deux arguments car le résultat peut dépendre des deux :
```rs
```rs
fnlonguest<'l>(a:&'lstr,b:&'lstr)->&'lstr{
fnlonguest<'l>(a:&'lstr,b:&'lstr)->&'lstr{
...
@@ -258,7 +258,7 @@ fn main() {
...
@@ -258,7 +258,7 @@ fn main() {
### 2.2.3. Explicit 3
### 2.2.3. Explicit 3
Il faut ajouter le lifetime pour les références dans `vec` :
Il faut ajouter la lifetime pour les références dans `vec` :
```rs
```rs
fninsert<'a>(vec:&mutVec<&'astr>,s:&'astr){
fninsert<'a>(vec:&mutVec<&'astr>,s:&'astr){
...
@@ -280,7 +280,7 @@ fn main() {
...
@@ -280,7 +280,7 @@ fn main() {
## 2.3. Lifetimes on types
## 2.3. Lifetimes on types
### 2.3.1. Types 1
### 2.3.1. Types 1
On ajoute un lifetime au type `Message` pour son attribut `content` qui est une référence car le type `Message` a besoin que la référence de `content` soit valide encore valide pour être utilisé :
On ajoute une lifetime au type `Message` pour son attribut `content` qui est une référence car le type `Message` a besoin que la référence de `content` soit valide encore valide pour être utilisé :
```rs
```rs
structMessage<'a>{
structMessage<'a>{
...
@@ -303,7 +303,7 @@ fn main() {
...
@@ -303,7 +303,7 @@ fn main() {
### 2.3.2. Types 2
### 2.3.2. Types 2
On ajoute le lifetime `'a` au type `Node` car il a une référence vers un autre `Node` :
On ajoute la lifetime `'a` au type `Node` car il a une référence vers un autre `Node` :
```rs
```rs
structNode<'a>{
structNode<'a>{
...
@@ -344,9 +344,9 @@ fn main() {
...
@@ -344,9 +344,9 @@ fn main() {
On crée un cargo avec `cargo init`, puis on met le code ci-dessous dans `src/main.rs`, puis on fait `cargo doc` puis `cargo run`
On crée un cargo avec `cargo init`, puis on met le code ci-dessous dans `src/main.rs`, puis on fait `cargo doc` puis `cargo run`
Liens accessibles :
Liens accessibles :
- la documentation : http://localhost:8080/target/doc/exercice3/index.html
- la documentation (si on a fait `cargo doc` avant) : http://localhost:8080/target/doc/exercice3/index.html
- la page d'accueil : http://localhost:8080/
- la page d'accueil : http://localhost:8080/
- une image png : http://localhost:8080/target/image.png
- une image png (si on en ajoute une dans le dossier `target/`) : http://localhost:8080/target/image.png