- يجب أن يمنع مترجم Rust الكود الذي يشير إلى بيانات بعد اختفائها. يفيد الإشكال 164250 في مستودع rust-lang/rust على GitHub بأن وضع مرجع قصير العمر داخل حقل في struct يمكن أن يتجاوز هذا الفحص.
- في المثال الأصلي، تم تجميع البرنامج وطباعة قيمة في الذاكرة سبق تحريرها. كتب صاحب الإشكال أنه عند تفعيل AddressSanitizer، وهي أداة تفحص عناوين الذاكرة، توقف البرنامج بخطأ stack-use-after-scope. هذه هي النتيجة التي أبلغ عنها الكاتب.
- كتب الكاتب أن المشكلة تتكرر في nightly (نسخ تجريبية قبل الإصدار) وفي الإصدارات المستقرة 1.85.0 وما بعدها. أما الادعاء بأن الكود نفسه تم تجميعه بعد 1.18.0 فهو تجربة أوردها أحد المعلقين.
- يصنف نص الإشكال هذه المشكلة بأنها P-high (أولوية عالية)، ويوضح أن استغلالها يتطلب تنفيذ Drop مصمما عمدا. هذا حكم كاتبي الإشكال. ولا يؤكد النص الأصلي وجود أي كود إصلاح أو إصدار منشور يتضمن الإصلاح.
O: لمطوّري مكتبات Rust الذين يتعاملون مع المراجع داخل تطبيقات Drop الخاصة بهم، يصلح كود المثال في هذه القضية للتشغيل أولاً عند التحقق مما إذا كانت المراجع قصيرة العمر داخلة في كودهم.
X: لا يؤكد النص الأصلي أن تصحيحاً قد نُشر، وأن الاستغلال يتطلب تطبيق Drop مقصوداً هو ادعاء من كاتبي القضية، لذلك يجب التحقق من النطاق الفعلي للتأثير بشكل منفصل.