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