Comment implémenter le trait Copy en Rust pour un type personnalisé ?
Bonjour à tous ! Je suis débutant en Rust et j'essaie de comprendre les traits. J'ai une structure simple représentant un point dans le plan :
```rust
struct Point {
x: i32,
y: i32,
}
```
Je veux que cette structure se comporte comme un type simple qui peut être copié implicitement, comme par exemple `i32` ou `bool`. C'est-à-dire que lors de l'affectation `let p2 = p1;`, la variable `p1` reste accessible (comme avec les nombres), et non déplacée (comme avec `String` ou `Vec`). J'ai entendu dire qu'il fallait implémenter le trait `Copy` pour cela. Mais quand j'essaie d'écrire :
```rust
impl Copy for Point {}
```
Le compilateur renvoie une erreur : `the trait 'Copy' cannot be implemented for this type; the type does not implement 'Clone'`. Je ne comprends pas pourquoi cela se produit. Qu'est-ce que je fais de mal ? Dois-je aussi implémenter...