
Rust 1.100.0 يصدر مع نوع never وواجهة API للمخصصات وتغييرات Cargo
Rust 1.100.0 متاح عبر rustup ويثبت نوع never وأجزاء من واجهة API للمخصصات وcore::mem::DropGuard وcore::mem::conjure_zst وتحذيرات Cargo للمعتمدات غير المستخدمة وتغييرات cache البناء وحل عمر النشر الأدنى.
أصبح Rust 1.100.0 متاحا عبر rustup update stable. يثبت هذا الإصدار نوع never وأجزاء من واجهة API للمخصصات في core وcore::mem::DropGuard وcore::mem::conjure_zst، إضافة إلى عدة ميزات في Cargo، منها الإبلاغ عن المعتمدات غير المستخدمة وتغييرات تخطيط دليل البناء وفحوصات عمر النشر الأدنى.
نوع never يصبح مستقرا
بعد 10 سنوات وخمس محاولات تثبيت فاشلة، أصبح نوع never، المكتوب !، مستقرا. وهو النوع غير المأهول القياسي للحسابات المتباعدة، ويمكن تحويله إلى أي نوع آخر (coerce). يسمح هذا الإصدار أيضا بتسمية ! في أي موضع، بما في ذلك Result
واجهة API للمخصصات وDropGuard
يثبت Rust 1.100.0 أجزاء core من allocator_api، مما يتيح مخصصات مخصصة عبر سمة Allocator مع Vec وBox. كما يقدّم هذا الإصدار core::mem::DropGuard، الذي يشغل closure عند drop ويدعم dismiss لإرجاع المتغير المحمي من دون تشغيل destructor. ويوفر core::mem::conjure_zst طريقة unsafe مخصصة لإنشاء قيم من الأنواع صفرية الحجم (zero-sized types).
تحسينات Cargo
تبلغ Cargo الآن عن المعتمدات غير المستخدمة، وتتحكم في ذلك عبر جدول [lints.cargo]، وتظهر التحذيرات عند بناء جميع أهداف البناء الممكنة. لا يظهر أي تحذير للمعتمدات dev-dependencies غير المستخدمة. يطبق دليل البناء الآن hash تكوين البناء بشكل متسق عبر تنظيم الدلائل حول خطوات البناء ونقل hash إلى الدليل parent. كما يثبت Cargo حل عمر النشر الأدنى، مما يتيح للمستخدمين تعيين global-min-publish-age في .cargo/config.toml وتجاوز الإصدارات المنشورة أحدث من العمر المكون. يتجاهل cargo install هذا الإعداد للحزمة المثبتة (crate) ومعتمداتها.
واجهات API المثبتة وتغييرات أخرى
يضيف الإصدار العديد من واجهات API المثبتة، بما في ذلك Box::new_in وVec::new_in وChild::main_thread_handle وbool::toggle وBox::take وBox::map وRc::map وArc::map ومساعدات trim لـ str وslice وPath::trim_prefix وVec::from_fn وغيرها المدرجة في ملاحظات الإصدار. توثق التغييرات في Rust وCargo وClippy بشكل منفصل، وشكر فريق Rust المساهمين.
المصادر: blog.rust-lang.org
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.