لقد تم إصدار Rust 1.78 بالفعل وهذه هي أخباره

شعار الصدأ

Rust هي لغة برمجة متعددة النماذج ، للأغراض العامة ، مجمعة.

تم بالفعل إصدار الإصدار الجديد من Rust 1.78 و يتم تنفيذ الميزات الجديدةبالإضافة إلى تثبيت بعض واجهات برمجة التطبيقات وتحسينات في Cargo والمزيد.

بالنسبة لأولئك الذين ليسوا على دراية بلغة البرمجة هذه ، يجب أن يعرفوا ذلك يركز على سلامة الذاكرة ويوفر الوسائل لتحقيق التوازي العالي من الوظائف مع تجنب استخدام أداة تجميع البيانات المهملة ووقت التشغيل (يتم تقليل وقت التشغيل إلى التهيئة الأساسية وصيانة المكتبة القياسية).

الميزات الرئيسية الجديدة لـ Rust 1.78

في هذا الإصدار الجديد الذي قدمه قام Rust 1.78 بزيادة الحد الأدنى لمتطلبات نظام التشغيل Windows 10إلى جانب ذلك تم تغيير المترجم لاستخدام LLVM 18. عند استخدام LLVM 18 للمعماريتين x86-32 وx86-64، تم تغيير واجهة ABI المرتبطة بالنوعين u128 وi128.

فيما يتعلق بالتغييرات، إحدى الخصائص التي تبرز هي الصدأ يدعم الآن مساحة اسم السمة  «#[تشخبص]"، ماذا يوفر وسيلة للتأثير على رسائل الخطأ المنتجة بواسطة المترجم. يتم التعامل معها على أنها تلميحات لا يُطلب من المترجم استخدامها، كما أنه ليس من الخطأ توفير تشخيص لا يتعرف عليه المترجم. هذا يسمح للكود المصدري بتوفير التشخيصات حتى عندما لا تكون مدعومة من قبل كافة المترجمينسواء كانت إصدارات مختلفة أو تطبيقات مختلفة تمامًا.

وبالإضافة إلى ذلك، تم تثبيت ذاكرة التخزين المؤقت العالمية في Cargo الذي يقوم بتخزين معلومات حول أحدث استخدام للبيانات. تقع ذاكرة التخزين المؤقت هذه في $CARGO_HOME/.global-cache ويستخدم SQLite لتنفيذه. يتم تحديثه تلقائيًا ليعكس أحدث التغييرات في الفهرس، وملف الصندوق، ودليل التعليمات البرمجية، واستنساخ git، و git checkout، مما يحسن كفاءة وسرعة عمليات إدارة التبعية في مشاريع التطوير.

ميزة جديدة أخرى في Rust 1.78 هي أن مكتبة Rust القياسية تمتلكها بيانات مختلفة للشروط المسبقة للوظائف غير الآمنة والتي يمكن الآن تأجيلها حتى إنشاء التعليمات البرمجية. وهذا يسمح بإجراء هذه الفحوصات تاريخيًا، تم تمكينهم فقط في الإصدارات «#[cfg(debug_assertions)]» لتجنب التأثير على الأداء في نسخة الإصدار. مع هذا التغيير، يمكن للمستخدمين الآن اكتشاف السلوك غير المحدد في التعليمات البرمجية الخاصة بهم، على الرغم من أن التفاصيل حول مقدار التحقق ليست مستقرة بشكل عام. لتمكين عمليات التحقق، يكفي الآن تمكين تأكيدات تصحيح الأخطاء لإصدارات الاختبار أو تصحيح الأخطاء للتعليمات البرمجية.

بالإضافة إلى ذلك الآن سلوك وظائف المكتبة القياسية التي تؤثر على محاذاة المؤشرات والقطاعات أصبح الآن قابلاً للتنبؤ به في وقت التشغيل ويعتمد على البيانات المدخلة. الوظيفة المؤشر::align_offset، الذي يحسب الإزاحة لمحاذاة المؤشر يعود الآن الاستخدام :: ماكس فقط في حالة فشل العملية. وظائف شريحة::align_to وشريحة::align_to_mut، الذي يحول الشرائح إلى تمثيل مع شريحة وسطى محاذية وشرائح البداية والنهاية الأصلية، يُرجع الآن دائمًا الجزء الأوسط الأكبر.

ومن جهة أخرى يذكر ذلك تم نقل واجهات برمجة التطبيقات التالية إلى الفئة "المستقرة".: ضمنيًا القراءة لـ &Stdin، ضمنيًا من من أجل io::خطأ والتنفيذ ضمنا والذي يسمح باستخدام ؟ الحجم.

من التغييرات الأخرى التي تبرز من هذا الإصدار الجديد:

  • تم تنفيذ المستوى الثاني من الدعم لمنصة Add Wasm32-wasip1 المستهدفة. المستوى الثاني من الدعم يتضمن ضمان التجميع.
  • تمت إعادة تسمية منصة Wasm32-wasi-preview1-threads إلى Wasm32-wasip1-threads.
  • في مدير حزمة Cargo، تم تثبيت الإصدار 4 من ملفات القفل (lockfile v4). يستخدم Cargo الآن هذا الإصدار كمعيار لضمان الاتساق والإدارة الفعالة للتبعيات عبر المشاريع.

إذا كنت مهتم بمعرفة المزيد عنها ، يمكنك التحقق من التفاصيل في الرابط التالي.

أخيرا ، لأولئك الذين هم مهتم بالترقية من إصدار سابق من Rust مثبتة عبر rustup ، يمكنك الحصول على الإصدار الجديد من Rust 1.78 مع:

rustup update stable

إذا لم يكن لديك Rust مثبتًا بالفعل على نظامك، فيمكنك القيام بذلك عن طريق تشغيل الأمر التالي في الوحدة الطرفية:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh