زنګ 1.96.0

خپرونه خپره شوه زنګ 1.96.0 — د رسټ پروګرامینګ ژبې وروستۍ باثباته نسخه. تازه معلومات خپاره شوي دي. 28 د 2026 کال می؛ دا د معیاري رسټ اپ اپډیټ سټیبل کمانډ په کارولو سره نصب کیدی شي. اصلي بدلونونه په کور:: رینج کې د نوي رینج ډولونه، د نمونې سره سمون لرونکي میکرو ثبات، د ویب اسمبلۍ جوړونې چلند سختول، او په کارګو کې د دوو زیان منونکو لپاره اصلاحات شامل دي.

لوی بدلونونه

  • د نوي رینج ډولونه core::range::Range*.
    په معیاري کتابتون کې د رینج نوي ډولونه ثبات شوي دي: core::range::Range، RangeFrom، RangeInclusive، او د دوی اړوند تکرارونکي. د core::ops څخه د زړو ډولونو برعکس، نوي رینجونه Iterator مستقیم نه پلي کوي، مګر د IntoIterator له لارې تکرارونکي ته بدلیږي. دا دې رینجونو ته اجازه ورکوي چې د کاپي وړ وي، کوم چې اسانه دی، د مثال په توګه، کله چې د جوړښت ساحې په توګه رینج ذخیره کړئ. د 0..1 په څیر نحو اوس مهال زاړه رینج ډولونه رامینځته کوي، مګر دا پلان شوی چې د ژبې په راتلونکي نسخه کې نوي ډولونو ته لیږدول شي.

  • اضافه شوي assert_matches! او debug_assert_matches!.
    نوي میکرو تاسو ته اجازه درکوي چې وګورئ چې ارزښت د ورکړل شوي نمونې سره سمون لري. دا د ادعا کولو په مفهوم کې ورته دی!(میچونه!(…))، مګر د غلطۍ په صورت کې، د ارزښت ډیبګ استازیتوب چاپ شوی، چې تشخیص ساده کوي. دا میکرو په پریلیوډ کې اضافه شوي ندي ترڅو د مشهور دریمې ډلې کریټونو سره د شخړو مخه ونیسي، نو دوی باید په واضح ډول د کور یا سټنډ څخه وارد شي.

  • د WebAssembly هدفونو چلند بدل شو.
    رسټ نور د ویب اسمبلۍ جوړونو لپاره لینکر ته --allow-undefined نه لیږدوي. نا تعریف شوي سمبولونه اوس د لینک کولو پرمهال د غلطیو په توګه ګڼل کیږي، د دې پرځای چې په اتوماتيک ډول د "env" ماډل څخه وارداتو ته بدل شي. دا باید د جوړونې غلطۍ او د سمبول ناسم نومونه مخکې ونیسي. زوړ چلند بیرته راوستل کیدی شي، که اړتیا وي، د RUSTFLAGS=-Clink-arg=--allow-undefined په کارولو سره یا د وارد شوي wasm ماډل په واضح ډول مشخص کولو سره #[link(wasm_import_module = "env")].

  • کارګو امنیتي اصلاحات ترلاسه کړي دي.
    رسټ ۱.۹۶.۰ دوه هغه زیانونه حل کوي چې د دریمې ډلې راجستر کاروونکو باندې اغیزه کوي. CVE-2026-5223 د کریټ ټاربالونو دننه د سیم لینکونو اداره کولو پورې اړوند: د دریمې ډلې راجسټری څخه یو ناوړه بسته کولی شي د ورته راجسټری څخه د بل پیکج کیچ له سره ولیکي. د رسټ 1.96.0 سره پیل کول، کارګو د کریټ آرشیفونه ردوي چې سیم لینکونه لري. CVE-2026-5222 دا ستونزه په سپیر رجسټری کې د URL نورمال کولو پورې اړه لري او په نادره شرایطو کې، د کارګو ټوکن د ناوړه راجسټری ته د لیږلو لامل کیدی شي. د رسټ ټیم په وینا، د crates.io کاروونکي د دې مسلو څخه اغیزمن ندي.

  • په ژبه کې بدلونونه.
    په خپرونه کې شامل دي: څو کوچني اصلاحات او پرمختګونه: د میکرو د expr میټاویریبلونو cfg ته د لیږدولو اجازه، په ټوپل ایکسپریشنونو کې د هیڅکله نه ټایپ کولو اصلاح کول، د فنکشن دلیلونو لپاره د غلط ډول انفرنس اشارې نادر قضیې حل کول، په انلاین اسمبلۍ کې د s390x ویکتور راجسترونو لپاره ملاتړ اضافه کول، او د ټیمپلیټونو په توګه د لاسي ډراپ ثابتونو بیا اجازه ورکول - دا په Rust 1.94.0 کې معرفي شوی ریګریشن حل کوي.

  • په کمپیلر او پلیټ فارمونو کې بدلونونه.
    لپاره Linuxد لونګ آرچ هدفونو لپاره د لینک آرامۍ ملاتړ فعال شوی دی — د لینک کولو اصلاح کول چې د کوډ له ځای پرځای کولو وروسته ځینې لیږدونه او زنګونه ساده کوي. د riscv64gc-unknown-fuchsia لپاره، د اساس ترتیب د ویکتور توسیعونو ملاتړ سره RVA22 پروفایل ته تازه شوی.

  • د معیاري کتابتون تازه معلومات.
    د غیر صفر عددي رینجونو په تکرارولو کې ملاتړ اضافه شوی دی. د ToSocketAddr له لارې په SGX کې د کوربه پتې سست اداره کول هم حل شوي، او د "لوستلو وړ/لیکلو وړ" حافظې تعریف په اسنادو او داخلي قراردادونو کې روښانه شوی دی: خالي نښه د عمومي تعریف څخه لرې شوې، او استثناوې اوس د ځانګړو میتودونو لپاره په جلا توګه مشخص شوي دي.

  • مستحکم APIs.
    د ثبات لرونکو انٹرفیسونو په منځ کې assert_matches!، debug_assert_matches!، د From پلي کول شامل دي. د AssertUnwindSafe لپاره ، لیزي سیل او لازي لاک ، او همدارنګه د نوي رینج ډولونه او د کور:: رینج څخه تکرارونکي، په شمول د رینج، رینجفروم، رینجټو انکلوسیو او د دوی تکرارونکي.

  • کارګو: په انحصارونو او اسنادو کې بدلونونه.
    یو انحصار اوس کولی شي د Git ذخیره او یو بدیل راجسټری دواړه مشخص کړي: د Git نسخه به په محلي توګه وکارول شي، او د راجسټری نسخه به د خپرولو پرمهال وکارول شي، د crates.io سره چلند ته ورته. د کارګو ترتیب کې د target.'cfg(..)'.rustdocflags لپاره ملاتړ هم اضافه شوی.

  • رسټډاک اوس اسناد په ډیر دقت سره اداره کوي.
    له کاره لویدلي API یادښتونه اوس د منظم اسنادو په توګه وړاندې کیږي، پرته له دې چې د سپینې ځای له لارې پخوانۍ ځانګړې پروسس ترسره شي: مخکې له مخکې لغوه کول. برسیره پردې، rustdoc نور د impl دننه عناصرو لپاره missing_doc_code_examples نه لیکي، او میتودونه او اړونده دندې اوس د اسنادو په اړخ کې جلا شوي دي.

  • ممکنه ناانډولۍ.
    په خپرونه کې ډیری بدلونونه شامل دي چې ممکن په غیر معیاري کوډ کې ښکاره شي: د ځینو #[repr(Int)] enums ترتیب په سختو قضیو کې تنظیم شوی، او په پن کې ځینې بې ګټې غیر اندازې کاسټونه غیر فعال شوي دي. ، د WebAssembly جوړونه اوس په نا تعریف شوي سمبولونو کې کریش کیږي، په ناڅاپي ډول ثبات شوی #![reexport_test_harness_main] ځانګړتیا بیا فیچر ګیټ شوی، د -Csoft-float اختیار لرې شوی، او لږترلږه بهرنۍ LLVM نسخه 21 ته لوړه شوې. د AVR لپاره، د c_double ډول f32 ته بدل شوی، ځکه چې C doubles په دې هدفونو کې په ډیفالټ ډول 32-bit دي.

سرچینه: linux.org.ru

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