كيفية تنفيذ 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'`. لا أفهم لماذا يحدث ذلك. ما الخطأ الذي أرتكبه؟ هل يجب علي أيضاً تنفيذ