قيود ماكرو Rust `#[derive]` والحلول البديلة
2025-07-08
ماكرو Rust `#[derive]`، عند توليد تنفيذات لسمات مثل `Clone`، يتطلب أن جميع المعلمات العامة تنفذ `Clone` أيضًا. هذا يحد من قابليته للتطبيق. تحلل المقال مثالين يوضحان سبب منع هذه القيود من تجميع التعليمات البرمجية. يقترح الكاتب حلين: تقديم RFC لتغيير سلوك المُترجم، وكتابة ماكرو مخصص لتجاوز القيد. يختار الكاتب الخيار الثاني، ويخطط لتنفيذ ماكروات `derive` أكثر مرونة في كرت `derive_more` أو كرت خاص به لحل هذه المشكلة.
(rgbcu.be)
التطوير