د سیسټم برنامه کولو ژبه Rust 1.56 خوشې کول، د موزیلا پروژې لخوا تاسیس شوی، مګر اوس د خپلواک غیر انتفاعي موسسې Rust Foundation تر څارنې لاندې رامینځته شوی، خپور شوی. د منظم نسخې شمیرې سربیره ، خوشې کول هم د زنګ 2021 ډیزاین شوی او په تیرو دریو کلونو کې وړاندیز شوي بدلونونو ثبات په نښه کوي. Rust 2021 به په راتلونکو دریو کلونو کې د فعالیت د زیاتوالي لپاره د اساس په توګه هم کار وکړي، لکه څنګه چې د 2018 زنګ خوشې کول په تیرو دریو کلونو کې د ژبې د پراختیا اساس شو.
د مطابقت ساتلو لپاره، پراختیا کونکي کولی شي په خپلو برنامو کې "2015"، "2018" او "2021" لیبلونه وکاروي، پروګرامونو ته اجازه ورکوي چې د ژبې د ریاست سلیزو سره وصل شي چې د Rust غوره شوي نسخو سره مطابقت لري. نسخې د نامناسب بدلونونو جلا کولو لپاره معرفي شوي او د کارګو کڅوړو میټاډاټا کې د "[پیکج]" برخې کې د "اډیشن" ساحې له لارې تنظیم شوي. د مثال په توګه، د "2018" نسخه کې د 2018 تر پایه پورې ثبات شوي فعالیت شامل دی او ټول نور بدلونونه هم پوښي چې مطابقت نه ماتوي. د 2021 نسخه سربیره پردې په اوسني 1.56 ریلیز کې وړاندیز شوي او د راتلونکي پلي کولو لپاره تصویب شوي د مداخلې ماتولو ځانګړتیاوې شاملې دي. د ژبې سربیره، مدیران د وسایلو او اسنادو حالت هم په پام کې نیسي.
په Rust 2021 کې ثبت شوي لوی ناانډولتیاوې:
- په بندونو کې جلا کول - بندونه اوس کولی شي د بشپړ پیژندونکي پرځای د انفرادي ساحې نومونه ونیسي. د مثال په توګه، "|| ax + 1 به د "a" پرځای یوازې "ax" ونیسي.
- د صفونو لپاره د IntoIterator ځانګړتیا: array.into_iter() تاسو ته اجازه درکوي د ارزښتونو له مخې د سرې عناصرو تکرار کړئ ، نه د حوالې په واسطه.
- د "|" څرګندونو پروسس کول په macro_rules کې بدل شوي (بولین یا) په نمونو کې - په میچونو کې د ":pat" مشخص کونکی اوس "A | ب".
- د کارګو بسته مدیر کې د ډیفالټ لخوا د فیچر حل کونکي دوهم نسخه شامله ده ، کوم ملاتړ چې په Rust 1.51 کې څرګند شوی.
- د TryFrom، TryInto او FromIterator ځانګړتیاوې د وړاندې کولو معیاري کتابتون ماډل کې اضافه شوي.
- ویره!(..) او اصرار!(expr, ..) میکرو اوس تل format_args!(..) د تارونو د فارمیټ کولو لپاره کاروي، د println!().
- ident#, ident»..." او ident '...' د ژبې په ترکیب کې ساتل شوي دي.
- bare_trait_objects او ellipsis_inclusive_range_patterns اخطارونه غلطیو ته لیږدول شوي.
په Rust 1.56 کې نوی:
- په Cargo.toml کې، د "[پیکج]" برخه کې، د زنګ نسخه ساحه اضافه شوې، د کوم له لارې تاسو کولی شئ د کریټ کڅوړې لپاره د زنګ لږترلږه ملاتړ شوی نسخه وټاکئ. که اوسنی نسخه د ټاکل شوي پیرامیټر سره سمون ونلري، کارګو به د خطا پیغام سره کار ودروي.
- کله چې د "بائنڈنگ @ نمونې" څرګندونو په کارولو سره د نمونې میچ کول، د اضافي بانډونو مشخص کولو لپاره ملاتړ چمتو کیږي (د مثال په توګه، "لټ میټریکس @ میټریکس { row_len، .. } = get_matrix();").
- د API یوه نوې برخه د ثبات کټګورۍ ته لیږدول شوې، په شمول د ځانګړتیاوو میتودونه او پلي کول ثبات شوي دي:
- std::os::unix::fs::chroot
- UnsafeCell ::raw_get
- BfWriter::into_parts
- core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}
- Vec:: shrink_to
- تار:: shrink_to
- OsString::shrink_to
- PathBuf:: shrink_to
- BinaryHeap::shrink_to
- VecDeque::shrink_to
- HashMap:: shrink_to
- HashSet::shrink_to
- د "const" خاصیت، کوم چې د ثابتو پر ځای په هر شرایطو کې د کارولو امکان ټاکي، په دندو کې کارول کیږي
- std::mem::transmute
- [T]::لومړی
- [T]::سپلایټ_لومړی
- [T]::وروستی
- [T]::Split_last
- کمپیلر د LLVM نسخه 13 کارولو لپاره بدل شوی.
- د ملاتړ دوهمه کچه د aarch64-apple-ios-sim پلیټ فارم لپاره او دریمه کچه د powerpc-unknown-freebsd او riscv32imc-esp-espidf پلیټ فارمونو لپاره پلي شوې. په دریمه کچه کې بنسټیز ملاتړ شامل دی، مګر د اتوماتیک ازموینې پرته، د رسمي ودانیو خپرول، یا دا ګوري چې آیا کوډ جوړیدلی شي.
په یاد ولرئ چې زنګ د حافظې خوندیتوب باندې تمرکز کوي ، د اتوماتیک حافظې مدیریت چمتو کوي ، او د کثافاتو راټولونکي یا رن ټایم کارولو پرته د دندې اجرا کولو کې د لوړې موازي لاسته راوړلو وسیلې چمتو کوي (د چلولو وخت د معیاري کتابتون لومړني پیل او ساتنې ته کم شوی).
د زنګ اتوماتیک حافظه مدیریت د پوائنټرونو مینځلو په وخت کې غلطۍ له مینځه وړي او د ټیټې کچې حافظې لاسوهنې څخه رامینځته شوي ستونزو څخه ساتي ، لکه د حافظې ساحې ته لاسرسی وروسته له دې چې خلاص شي ، د نول پوینټر ډیریفرنسونه ، بفر اوورونونه او داسې نور. د کتابتونونو توزیع کولو لپاره، د راټولولو ډاډ ترلاسه کول او د انحصارونو اداره کول، پروژه د کارګو بسته مدیر ته وده ورکوي. د crates.io ذخیره د کتابتونونو کوربه کولو لپاره ملاتړ کیږي.
سرچینه: opennet.ru