Rust 1.46 پروگرامنگ لینگویج ریلیز

شائع ہوا سسٹم پروگرامنگ زبان کا 1.46 جاری کریں۔ مورچاموزیلا پروجیکٹ کے ذریعہ قائم کیا گیا ہے۔ زبان میموری کی حفاظت پر توجہ مرکوز کرتی ہے، خودکار میموری کا انتظام فراہم کرتی ہے، اور کوڑا اٹھانے والے کا استعمال کیے بغیر اعلیٰ کام کے متوازی کو حاصل کرنے کے لیے ٹولز فراہم کرتی ہے۔ رن ٹائم.

زنگ کا خودکار میموری مینجمنٹ پوائنٹرز میں ہیرا پھیری کرتے وقت غلطیوں کو ختم کرتا ہے اور نچلے درجے کی میموری کی ہیرا پھیری سے پیدا ہونے والے مسائل سے بچاتا ہے، جیسے میموری کے علاقے کو آزاد ہونے کے بعد اس تک رسائی حاصل کرنا، null pointer dereferences، buffer overruns وغیرہ۔ لائبریریوں کی تقسیم، اسمبلی کو یقینی بنانے اور پراجیکٹ کے ذریعے انحصار کا انتظام کرنے کے لیے ایک پیکیج مینیجر تیار کیا جا رہا ہے۔ چارج، آپ کو پروگرام کے لیے درکار لائبریریوں کو ایک کلک میں حاصل کرنے کی اجازت دیتا ہے۔ ایک ذخیرہ لائبریریوں کی میزبانی کے لیے معاون ہے۔ crates.io.

اہم بدعات:

  • "const fn" کے اظہار کا استعمال کرتے ہوئے بیان کردہ فنکشنز کی صلاحیتوں کو بڑھا دیا گیا ہے، جنہیں نہ صرف ریگولر فنکشنز کہا جا سکتا ہے، بلکہ مستقل کے بجائے کسی بھی سیاق و سباق میں استعمال کیا جا سکتا ہے۔ ان فنکشنز کا حساب کمپائل ٹائم پر کیا جاتا ہے، رن ٹائم پر نہیں، اس لیے وہ کچھ پابندیوں کے تابع ہوتے ہیں، جیسے کہ صرف مستقل سے پڑھنے کی صلاحیت۔

    نئی ریلیز ایسے فنکشنز میں بولین آپریٹرز ("&&" اور "||") کے استعمال پر پابندی ہٹاتی ہے، اور "if"، "if let"، "match" کنسٹرکٹس کے استعمال کی اجازت دیتی ہے،
    "while"، "while let" اور "loop"، اور "&[T]" کا استعمال کرتے ہوئے سلائسز (سلائس، ڈائنامک اری) میں تبدیل کرنے کی صلاحیت بھی فراہم کرتا ہے۔ "const fn" فنکشنز میں ان فیچرز کا استعمال آپ کو کچھ وسائل سے بھرپور آپریشنز کو کمپائلیشن کے مرحلے میں منتقل کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، "const-sha1" کا نفاذ کمپائل کے وقت SHA-1 ہیشز کا حساب لگانا ممکن بناتا ہے، جس کی وجہ سے زنگ کے لیے WinRT بائنڈنگز تقریباً 40 گنا تیز ہو جاتی ہیں۔

  • خرابی کے پیغامات کو مزید معلوماتی بنانے کے لیے، "#[track_caller]" وصف کے لیے سپورٹ کو مستحکم کر دیا گیا ہے، جو کہ کھولنے جیسے فنکشنز کے لیے مفید ہے، اگر قسموں کو غلط طریقے سے استعمال کیا جائے تو گھبراہٹ کا سبب بن سکتا ہے۔ مخصوص انتساب کو گھبراہٹ ہینڈلر کے ذریعے کال کرنے والے کے مقام کو غلطی کے پیغام میں پرنٹ کرنے کے لیے استعمال کیا جائے گا۔
  • "const" وصف، جو مستقل کی بجائے کسی بھی سیاق و سباق میں استعمال کرنے کے امکان کا تعین کرتا ہے، std::mem::forget طریقہ میں استعمال ہوتا ہے۔
  • API کے ایک نئے حصے کو مستحکم زمرہ میں منتقل کر دیا گیا ہے، بشمول اسٹیبلائزڈ آپشن::زپ اور vec::Drain::as_slice۔
  • پیکیج مینیجر کارگو میں شامل کیا پیکج کو مرتب کرتے وقت نئے ماحولیاتی متغیرات کے لیے سپورٹ: CARGO_BIN_NAME (نتیجے میں قابل عمل فائل کا نام)، CARGO_CRATE_NAME (پیکیج کا نام)، CARGO_PKG_LICENSE (لائسنس مینی فیسٹ میں بیان کیا گیا ہے)، CARGO_PKG_LICENSE_FILE (لائسنس فائل کا راستہ)۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں