Avatar ·

كيفية تنفيذ trait Copy في Rust لنوع مخصص؟

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