Comment corriger l'erreur "use of moved value" en Rust ?
Bonjour ! J'ai commencé à apprendre Rust et je tombe constamment sur l'erreur "use of moved value". Voici un exemple simple qui la provoque :
```rust
fn main() {
let s = String::from("привет");
let t = s;
println!("{}", s); // erreur : use of moved value: `s`
}
```
Je comprends que Rust suit strictement l'ownership, mais je n'arrive pas à comprendre comment transmettre correctement les données entre les variables et les fonctions. Par exemple, je veux écrire une fonction qui prend une string, fait quelque chose avec, puis je veux réutiliser cette string dans main :
```rust
fn process(s: String) -> String {
// un traitement quelconque
s
}
fn main() {
let my_string = String::from("тест");
let result = process(my_string);
println!("{}", my_string); // encore une erreur !
}
```
Pourquoi cela se produit-il ?