برمجياتقراءة دقيقتين

Rust 1.98 يصدر في 20 أغسطس 2026 ويسمح بتعريف دوال variadic بواجهة C

المغزى

أغلب عمل Rust الجاد هو استبدال كود C قائم قطعة بعد قطعة، وكل فجوة في التوافق كانت تترك سطرًا من C يعيش في المشروع سنوات.

يصدر Rust 1.98.0 في نسخته المستقرة يوم 20 أغسطس 2026، بعد أن تفرّع من الفرع الرئيسي في 3 يوليو. وأهم ما فيه تثبيت ميزة c_variadic.

والفرق هنا دقيق. فـ Rust كانت منذ زمن قادرة على استدعاء دوال variadic مكتوبة بلغة C، وهي الدوال التي تقبل عددًا متغيرًا من المعاملات، مثل printf. لكنها لم تكن قادرة على تعريف دالة من هذا النوع بنفسها وفق الـ C ABI، أي الواجهة الثنائية التي تتفاهم بها البرامج المكتوبة بلغات مختلفة.

وعمليًا، إذا كانت مكتبة C تطلب دالة تقبل عددًا متغيرًا من المعاملات، لم يكن ممكنًا كتابتها بـ Rust. وكان المطور مضطرًا إلى ترك جزء مكتوب بـ C في المشروع لهذا الغرض وحده.

وتكتسب هذه الميزة أهميتها من طبيعة استخدام Rust. فأغلب العمل الجاد بها لا يبدأ من الصفر، بل يستبدل أجزاء من كود C قائم يعمل في الإنتاج، جزءًا بعد جزء، دون إيقاف النظام. وكل فجوة في التوافق عبر الـ ABI كانت تترك خلفها كودًا بلغة C، وهذا الكود يبقى سنوات، ويصبح سببًا في أن الترحيل لا يكتمل.

ويحل الإصدار أيضًا مشكلة قائمة منذ 2018 في #[derive(PartialOrd)]، إذ كان يولّد كود مقارنة مطوّلًا لا يستطيع LLVM تبسيطه. وأصبح الكود الناتج أنظف، ما يعني أداء أفضل دون تغيير في كود المطور.

كما يثبّت الإصدار atomic_from_mut وstr_from_utf16_endian وint_format_into، وتصبح خصائص RISC-V مستقرة في cfg(target_feature).

والمحصلة أن الإصدار لا يضيف شيئًا كبيرًا يجب تعلمه، بل يزيل عذرًا كان يمنع استبدال أجزاء معينة من كود C.

المصادر

  1. مسودة ملاحظات الإصدار على GitHub
  2. تفاصيل الإصدار 1.98.0 على releases.rs
  3. releases.rs
  4. شرح c_variadic (byteiota)
  5. توثيق FFI في Rust

من عدد الأحد 3 ربيع الأول - 16 أغسطس

أخبار ذات صلة

أخبار الأحد 3 ربيع الأول - 16 أغسطس