Wie implementiere ich das Copy-Trait in Rust für einen benutzerdefinierten Typ?
Hallo zusammen! Ich bin neu in Rust und versuche, mich mit Traits vertraut zu machen. Ich habe eine einfache Struktur, die einen Punkt in der Ebene darstellt:\n\n```rust\nstruct Point {\n x: i32,\n y: i32,\n}\n```\n\nIch möchte, dass sich diese Struktur wie ein einfacher Typ verhält, der implizit kopiert werden kann, wie z.B. `i32` oder `bool`. Das heißt, ich möchte, dass bei der Zuweisung `let p2 = p1;` die Variable `p1` weiterhin verfügbar bleibt (wie bei Zahlen) und nicht verschoben wird (wie bei `String` oder `Vec`). Ich habe gehört, dass man dafür das `Copy`-Trait implementieren muss. Aber wenn ich versuche, Folgendes zu schreiben:\n\n```rust\nimpl Copy for Point {}\n```\n\ngibt der Compiler einen Fehler aus: `the trait `Copy` cannot be implemented for this type; the type does not implement `Clone`". Ich verstehe nicht, warum das passiert. Was mache ich falsch? Muss ich auch `Clone` implementieren?