Avatar ·

Как реализовать 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++ كنت سأكتب ببساطة منشئ نسخ، أما هنا فالأمر أكثر تعقيدًا. أحتاج إلى ك ```