كيفية تنفيذ trait Copy في Rust لنوع مخصص؟
مرحباً بالجميع! أنا مبتدئ في Rust وأحاول فهم الـ traits. لدي struct بسيط يمثل نقطة على المستوى:\n\n```rust\nstruct Point {\n x: i32,\n y: i32,\n}\n```\n\nأريد أن يتصرف هذا الـ struct كنوع بسيط يمكن نسخه ضمنياً، مثل `i32` أو `bool`. أي أريد أنه عند التعيين `let p2 = p1;` يبقى المتغير `p1` متاحاً (كما هو الحال مع الأرقام)، ولا يتم نقله (كما هو الحال مع `String` أو `Vec`). سمعت أنه لتحقيق ذلك يجب تنفيذ trait `Copy`. ولكن عندما أحاول كتابة:\n\n```rust\nimpl Copy for Point {}\n```\n\nيظهر المترجم خطأ: `the trait `Copy` cannot be implemented for this type; the type does not implement `Clone"`. لا أفهم لماذا يحدث ذلك. ما الخطأ الذي أفعله؟ هل أحتاج أيضاً إلى تنفيذ