Rust 1.68 د پروګرام کولو ژبې خپرول

د Rust 1.68 عمومي هدف پروګرام کولو ژبې خپرول، چې د موزیلا پروژې لخوا تاسیس شوی، مګر اوس د خپلواک غیر انتفاعي موسسې Rust Foundation تر څارنې لاندې رامینځته شوی، خپور شوی. ژبه د حافظې خوندیتوب باندې تمرکز کوي او د لوړې دندې موازي کولو لپاره وسیلې چمتو کوي پداسې حال کې چې د کثافاتو راټولونکي او رن ټایم کارولو څخه مخنیوی کوي (د چلولو وخت د معیاري کتابتون لومړني پیل او ساتنې ته کم شوی).

د زنګ د حافظې اداره کولو میتودونه پرمخ وړونکي د خطا څخه ژغوري کله چې د پوائنټرونو مینځل کیږي او د هغو ستونزو په وړاندې ساتنه کوي چې د ټیټې کچې حافظې اداره کولو له امله رامینځته کیږي ، لکه د حافظې ساحې ته لاسرسی وروسته له دې چې خلاص شو ، د نول پوائنټرونو ته اشاره کول ، د بفر اوورونونه او نور. د کتابتونونو توزیع کولو، جوړونه چمتو کول او د انحصارونو اداره کول، پروژه د کارګو پیکج مدیر ته وده ورکوي. د crates.io ذخیره د کتابتونونو کوربه کولو لپاره ملاتړ کیږي.

د حافظې خوندیتوب د تالیف په وخت کې په زنګ کې د حوالې چیک کولو له لارې چمتو کیږي ، د شیانو ملکیت تعقیب ساتل ، د څیز ژوند وخت (سکوپس) ساتل ، او د کوډ اجرا کولو پرمهال د حافظې لاسرسي سموالي ارزول. زنګ د انټیجر د زیاتیدو پروړاندې محافظت هم چمتو کوي ، د کارونې دمخه د متغیر ارزښتونو لازمي ابتکار ته اړتیا لري ، په معیاري کتابتون کې خطاګانې په ښه توګه اداره کوي ، د ډیفالټ لخوا د بدلیدونکي حوالې او متغیر مفهوم پلي کوي ، د منطقي غلطیو کمولو لپاره قوي جامد ټایپ وړاندیز کوي.

اصلي نوښتونه:

  • د کارګو پیکج مدیر او crates.io ذخیره د Sparse پروتوکول لپاره ملاتړ مستحکم کړی دی، کوم چې د شاخص سره د کار کولو لپاره یوه نوې لاره تعریفوي چې په ذخیره کې د ټولو موجوده پیکجونو موجود نسخې ښیې. نوی پروتوکول د crates.io فعالیت د پام وړ ښه کوي او د پیمانه کولو مسلو ته رسیدګي کوي ځکه چې په ذخیره کې د پیکجونو شمیر مخ په ډیریدو دی.

    د بشپړ شاخص ډاونلوډ کولو له امله رامینځته شوي ځنډ کمولو لپاره، سپارس یوازې د اړین شاخص ډیټا مستقیم HTTPS ډاونلوډ کاروي، د Git له لارې شاخص ته د لاسرسي پرځای، د یوې ځانګړې پروژې انحصار پوښي. د index.crates.io نوی خدمت د شاخص ډیټا خدمت کولو لپاره کارول کیږي. نوی پروتوکول پلان شوی چې په Rust 1.70 کې په ډیفالټ ډول فعال شي. تر هغه وخته پورې، دا د چاپیریال متغیر "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" تنظیم کولو یا د .cargo/config.toml فایل "[registries.crates-io]" برخې ته د 'protocol = "sparse" پیرامیټر اضافه کولو سره فعال کیدی شي.

  • "pin!" میکرو اضافه شو، کوم چې تاسو ته اجازه درکوي چې د "T" اظهار څخه د هغې د حالت د محلي پن کولو سره د Pin<&mut T> جوړښت جوړ کړئ (د Box::pin برعکس، دا په هپ کې حافظه نه تخصیص کوي، مګر د سټیک په کچه پابند کول ترسره کوي).
  • د معیاري alloc پیکج سره د کارولو لپاره د حافظې د تخصیص د تېروتنې یو ډیفالټ هینډلر معرفي شوی دی. هغه غوښتنلیکونه چې یوازې alloc فعالوي (پرته له std) به اوس د حافظې د تخصیص د ناکامۍ په صورت کې "panic!" هینډلر ته زنګ ووهي، کوم چې په اختیاري توګه د "#[panic_handler]" په کارولو سره مداخله کیدی شي. هغه پروګرامونه چې د std کتابتون کاروي به د غلطۍ معلومات stderr ته چاپ او بندولو ته دوام ورکړي.
  • د API یوه نوې برخه د ثبات کټګورۍ ته لیږدول شوې، په شمول د ځانګړتیاوو میتودونه او پلي کول ثبات شوي دي:
    • {کور، سټنډ}::پن::پن!
    • impl له د {f32,f64} لپاره
    • سټنډرد::لار::MAIN_SEPARATOR_STR
    • د PathBuf لپاره impl DerefMut
  • د "const" بيرغ، کوم چې د ثابتو پر ځای په هر ډول شرایطو کې د کارولو امکان ټاکي، په VecDeque::new فعالیت کې کارول کیږي.
  • په پلیټ فارم کې کار کول Android اوس لږ تر لږه NDK r25 (API 19) ته اړتیا ده، د بیلګې په توګه لږترلږه ملاتړ شوی نسخه Android ۴.۴ (KitKat) ته لوړ شوی.
  • د سوني پلې سټیشن ویټا پلیټ فارم (armv7-sony-vita-newlibeabihf) لپاره د دریمې کچې ملاتړ پلي شوی دی. دریمه کچه اساسي ملاتړ چمتو کوي، مګر اتوماتیک ازموینه، رسمي جوړونې خپرونې، یا د جوړونې تایید پکې شامل نه دي.

سرچینه: opennet.ru

د DDoS محافظت ، VPS VDS سرورونو سره د سایټونو لپاره معتبر کوربه توب واخلئ 🔥 د DDoS محافظت، VPS VDS سرورونو سره د باور وړ ویب پاڼې کوربه توب واخلئ | ProHoster