نهج جديد للمعاملات غير المُهيّأة في Rust: سمة Buffer
2025-05-21
مثّلت المُعاملات غير المُهيّأة في Rust تحديًا مستمرًا. قدّم جون نونلي وأليكس سافو حلًا مبتكرًا باستخدام سمة `Buffer`. تسمح هذه السمة بالقراءة الآمنة في المُعاملات غير المُهيّأة، مع توفير تنفيذات لـ `&mut [T]` و `&mut [MaybeUninit]`. كما أنها تستغل بذكاء السعة الاحتياطية لـ `Vec` وتُغلف نداء `Vec::set_len` غير الآمن. تم دمج هذا النهج الآن في rustix 1.0 وتم إصداره كُ مكتبة مستقلة، `buffer-trait`، مع إمكانية تضمينه في مكتبة Rust القياسية في المستقبل.
التطوير