الصدأ 1.36

فريق التطوير متحمس لتقديم Rust 1.36!

ما الجديد في Rust 1.36؟
استقرت السمة المستقبلية، من الجديد: تخصيص الصندوق، MaybeUninit , NLL لـ Rust 2015، تطبيق جديد لـ HashMap وعلم جديد - غير متصل للشحن.


والآن بمزيد من التفاصيل:

  • وأخيرا في الصدأ 1.36 استقر سمة المستقبل.
  • تخصيص الصندوق.
    اعتبارًا من Rust 1.36، أجزاء من المعيار الذي يعتمد على المُخصص العام (مثل Vec )، موجودة في صندوق التخصيص. الآن سوف يقوم std بإعادة تصدير هذه الأجزاء. المزيد حول هذا الموضوع.
  • ربماوحدة بدلاً من mem::unnitialized.
    في الإصدارات السابقة، سمحت لك mem::unnitialized بتجاوز فحص التهيئة، وقد تم استخدامها لتخصيص المصفوفات البطيئة، لكن هذه الوظيفة خطيرة للغاية (أكثر)، لذلك تم تثبيت نوع MaybeUninit ، وهو أكثر أمانا.
    حسنا، منذ MaybeUninit بديل أكثر أمانًا، فاعتبارًا من Rust 1.38، ستكون mem::uninitialized ميزة مهملة.
    إذا كنت تريد معرفة المزيد عن الذاكرة غير المهيأة، فيمكنك قراءة منشور المدونة هذا بواسطة Alexis Beingessner.
  • NLL لـ Rust 2015.
    في الإعلان الصدأ 1.31.0 أخبرنا المطورون عن NLL (Non-Lexical Lifetime)، وهو تحسين للغة يجعل مدقق الاقتراض أكثر ذكاءً وأكثر سهولة في الاستخدام. مثال:
    fn main () {
    دع موت س = 5؛
    دع ص = &x;
    دع z = &mut x; // لم يكن هذا مسموحًا به قبل 1.31.0.
    }

    في الإصدار 1.31.0، عملت NLL فقط في Rust 2018، مع وعد بأن المطورين سيضيفون الدعم في Rust 2015.
    إذا كنت تريد معرفة المزيد عن NLL، يمكنك قراءة المزيد في هذا مشاركات المدونة (فيليكس كلوكس).

  • العلم الجديد للشحن هو —غير متصل.
    لقد نجح Rust 1.36 في تثبيت علامة جديدة لـ Cargo. تخبر العلامة --offline شركة Cargo باستخدام التبعيات المخزنة مؤقتًا محليًا حتى يمكن استخدامها دون اتصال بالإنترنت لاحقًا. عندما لا تكون التبعيات الضرورية متاحة دون الاتصال بالإنترنت، وإذا كانت لا تزال هناك حاجة إلى الإنترنت، فسيقوم Cargo بإرجاع خطأ. من أجل تنزيل التبعيات مسبقًا، يمكنك استخدام أمر Cargo fetch، الذي سيقوم بتنزيل جميع التبعيات.
  • ومن يمكنك قراءة نظرة عامة أكثر تفصيلاً عن التغييرات.

هناك أيضًا تغييرات في المكتبة القياسية:

تغييرات أخرى Rust, حمولة и Clippy.

المصدر: linux.org.ru

إضافة تعليق