سسٹم پروگرامنگ لینگویج ریلیز موزیلا پروجیکٹ کے ذریعہ قائم کیا گیا ہے۔ زبان میموری کی حفاظت پر توجہ مرکوز کرتی ہے، خودکار میموری کا انتظام فراہم کرتی ہے، اور کوڑا اٹھانے والے کا استعمال کیے بغیر اعلیٰ کام کے متوازی کو حاصل کرنے کے لیے ٹولز فراہم کرتی ہے۔ .
زنگ کا خودکار میموری کا انتظام ڈویلپر کو پوائنٹر کی ہیرا پھیری سے آزاد کرتا ہے اور کم سطحی میموری کی ہیرا پھیری سے پیدا ہونے والے مسائل سے بچاتا ہے، جیسے کہ بعد میں میموری تک رسائی، null pointer dereferences، buffer overruns، اور اس طرح کے دیگر۔ لائبریریوں کی تقسیم، اسمبلی کو یقینی بنانے اور پراجیکٹ کے ذریعے انحصار کا انتظام کرنے کے لیے ایک پیکیج مینیجر تیار کیا جا رہا ہے۔ ، آپ کو پروگرام کے لیے درکار لائبریریوں کو ایک کلک میں حاصل کرنے کی اجازت دیتا ہے۔ ایک ذخیرہ لائبریریوں کی میزبانی کے لیے معاون ہے۔ .
اہم :
- میکرو عناصر کے ٹکڑوں کو خصلتوں، نفاذ (impl) یا بیرونی بلاکس کے کوڈ میں تبدیل کرنے کے لیے استعمال کرنے کی صلاحیت فراہم کرتے ہیں۔ مثال کے طور پر:
macro_rules! mac_trait {
($i:item) => {
خاصیت T { $i }
}
}
mac_trait! {
fn foo() {}
}اس کے نتیجے میں پیدا ہوگا:
خاصیت T {
fn foo() {}
} - قدیم، حوالہ جات، اور بائنری آپریشنز کے لیے بہتر قسم کا پتہ لگانا۔
مثال کے طور پر، درج ذیل کوڈ، جو پہلے غلطی کا سبب بنتا تھا، اب مرتب کرے گا (Rust اب صحیح طریقے سے پتہ لگاتا ہے کہ 0.0 اور &0.0 f32 قسم کا ہونا چاہیے):let n: f32 = 0.0 + &0.0;
- ایک نیا ماحولیاتی متغیر، CARGO_BIN_EXE_{name}، کارگو میں شامل کر دیا گیا ہے۔ یہ انضمام ٹیسٹ کی تعمیر کے وقت سیٹ کیا جاتا ہے اور آپ کو پیکیج کے "[[bin]]" سیکشن میں بیان کردہ قابل عمل فائل کا مکمل راستہ بتانے کی اجازت دیتا ہے۔
- "اگر" بیانات میں #[cfg()] جیسی صفات کی اجازت ہے۔
- لائبریری ماڈیول کو درآمد کیے بغیر، انٹیجر اور فریکشنل اقسام کے لیے براہ راست متعلقہ مستقل استعمال کرنے کی صلاحیت فراہم کرتی ہے۔ مثال کے طور پر، آپ پہلے "استعمال std::u32" اور "استعمال std::f32" کی وضاحت کیے بغیر براہ راست u32::MAX یا f32::NAN لکھ سکتے ہیں۔
- نیا ماڈیول شامل کیا گیا۔ ، جو زنگ کی ابتدائی اقسام کو دوبارہ برآمد کرتا ہے، مثال کے طور پر جب آپ کو میکرو لکھنے کی ضرورت ہوتی ہے اور اس بات کو یقینی بنانا ہوتا ہے کہ اقسام پوشیدہ نہیں ہیں۔
- APIs کا ایک نیا حصہ مستحکم زمرہ میں منتقل کر دیا گیا ہے، بشمول مستحکم
ایک بار::is_completed،
f32::LOG10_2،
f32::LOG2_10،
f64::LOG10_2،
f64::LOG2_10 اور
iter::one_with.
ماخذ: opennet.ru
