أخطاء مترجم Rustخطأ
E0308E0308 — عدم تطابق نوع Result
تُعيد الدالة Result بنوع Ok أو Err خاطئ.
rustcargo
أسباب هذا الخطأ
نوع القيمة المُعادة هو Result<T, E> لكن القيمة المُعادة فعليًا تملك نوع T أو E مختلفًا. قد يحوّل عامل ? بين أنواع أخطاء غير متوافقة.
كيفية الإصلاح
تأكد من تطابق أنواع Ok و Err مع توقيع الدالة. نفّذ From<ErrorType> لنوع الخطأ الخاص بك لتفعيل تحويل عامل ?. استخدم .map_err() لتحويل أنواع الأخطاء. استخدم حزمة مثل anyhow أو thiserror لمعالجة الأخطاء بشكل مريح.
مثال
fn foo() -> Result<(), String> {
Ok(42) // expected ()
}رموز أخطاء ذات صلة
أخطاء مترجم Rustخطأ
E0502E0502 — لا يمكن الاستعارة بصورة قابلة للتعديل لوجود استعارة غير قابلة للتعديل
لا يمكن استعارة قيمة بشكل قابل للتعديل طالما أن استعارة غير قابلة للتعديل لا تزال فعّالة.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0277E0277 — النوع لا ينفّذ Send
يُستخدم نوع لا ينفّذ Send في سياق يتطلب أمان الخيوط.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0308E0308 — أنواع غير متطابقة
النوع المتوقع لا يتطابق مع النوع الفعلي المُقدَّم.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0369E0369 — لا يمكن تطبيق العامل على هذا النوع
عامل ثنائي مستخدَم مع أنواع لا تدعمه.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0106E0106 — محدد عمر مفقود
مرجع في توقيع دالة أو هيكل يفتقر إلى معامل عمر.
rustcargo
عرض التفاصيل أخطاء مترجم Rustخطأ
E0425E0425 — لا يمكن إيجاد القيمة في هذا النطاق
معرّف مستخدم غير معرَّف في النطاق الحالي.
rustcargo
عرض التفاصيل