Как реализовать Copy и Clone для структуры с полем String (или любым не-Copy типом)?
```html
السلام عليكم! لقد بدأت للتو في تعلم Rust وواجهت مشكلة لا أستطيع حلها منذ اليوم الثاني. أكتب برنامجًا بسيطًا للتعامل مع المستخدمين، ولدي الهيكل التالي:
```rust
struct User {
id: u32,
name: String,
email: String,
}
```
أحتاج إلى أن يكون هذا الهيكل قابلاً للنسخ والنقل إلى الدوال دون اقتراض — أي أريد تنفيذ السمات `Copy` و `Clone` له. لكن المترجم يعترض عندما أكتب `#[derive(Copy, Clone)]`:
```
error[E0204]: the trait `Copy` may not be implemented for this type
--> src/main.rs:1:10
|
1 | #[derive(Copy, Clone)]
| ^^^^
2 | struct User {
3 | name: String,
| ---- this field does not implement `Copy`
```
أفهم أن `String` لا تنفذ `Copy` لأنها نوع مع تخصيص ديناميكي للذاكرة. لكن كيف يمكنني جعل الهيكل قابلاً للنسخ؟ في C++ كنت سأكتب ببساطة منشئ نسخ، أما هنا فالأمر أكثر تعقيدًا.
أحتاج إلى ك
```