أخطاء مترجم Rustفادح
panic-unwrapPanic — استدعاء unwrap() على None أو Err
انهار البرنامج لأن unwrap() استُدعيت على قيمة None أو Err.
rustcargo
أسباب هذا الخطأ
استُدعيت unwrap() على Option قيمتها None أو Result قيمتها Err. هذا خطأ وقت تشغيل يُعطّل البرنامج. يشير إلى أن الكود افترض وجود قيمة دائماً، لكنها لم تكن موجودة.
كيفية الإصلاح
استخدم match أو if let لمعالجة حالات None وErr بأمان. استخدم unwrap_or() أو unwrap_or_default() أو unwrap_or_else() لتوفير قيم احتياطية. استخدم المعامل ? لنشر الأخطاء بدلاً من الانهيار.
مثال
let x: Option<i32> = None;
x.unwrap(); // panics!رموز أخطاء ذات صلة
أخطاء مترجم Rustتحذير
clippy::clone_on_copyClippy — Clone على نوع Copy
تُستدعى الدالة clone() على نوع يُطبّق Copy.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0601E0601 — الدالة main غير موجودة
الـ crate الثنائية لا تمتلك نقطة دخول الدالة main.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0392E0392 — معامل نوع أو عمر غير مُستخدَم
معامل نوع جنيس أو معامل عمر مُعلَن عنه ولا يُستخدَم في الهيكل أو المعدود.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0433E0433 — فشل في تحليل مسار الوحدة
لا يمكن تحليل مسار الوحدة المستخدم في عبارة use أو مسار النوع.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0106E0106 — محدد عمر مفقود
مرجع في توقيع دالة أو هيكل يفتقر إلى معامل عمر.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0499E0499 — لا يمكن الاستعارة بصورة قابلة للتعديل أكثر من مرة
قيمة مستعارة بشكل قابل للتعديل أكثر من مرة في الوقت ذاته.
rustcargo
عرض التفاصيل