මලකඩ 1.96.0

නිකුතුව ප්‍රකාශයට පත් කර ඇත මලකඩ 1.96.0 — රස්ට් ක්‍රමලේඛන භාෂාවේ නවතම ස්ථාවර අනුවාදය. යාවත්කාලීනය නිකුත් කර ඇත. 28 මැයි 2026 වසර; එය සම්මත rustup update stable විධානය භාවිතයෙන් ස්ථාපනය කළ හැක. ප්‍රධාන වෙනස්කම් අතරට core::range හි නව පරාස වර්ග, රටා ගැලපෙන මැක්‍රෝ ස්ථායිකරණය, WebAssembly ගොඩනැගීමේ හැසිරීම තද කිරීම සහ Cargo හි අවදානම් දෙකක් සඳහා නිවැරදි කිරීම් ඇතුළත් වේ.

ප්රධාන වෙනස්කම්

  • නව පරාස වර්ග core::range::Range*.
    නව පරාස වර්ග සම්මත පුස්තකාලය තුළ ස්ථාවර කර ඇත: core::range::Range, RangeFrom, RangeInclusive, සහ ඒවාට සම්බන්ධ පුනරාවර්තක. core::ops හි පැරණි වර්ග මෙන් නොව, නව පරාසයන් සෘජුවම පුනරාවර්තකය ක්‍රියාත්මක නොකරයි, නමුත් IntoIterator හරහා පුනරාවර්තකයක් බවට පරිවර්තනය වේ. මෙය මෙම පරාසයන් පිටපත් කළ හැකි වීමට ඉඩ සලසයි, එය පහසු වේ, උදාහරණයක් ලෙස, ව්‍යුහ ක්ෂේත්‍රයක් ලෙස පරාසයක් ගබඩා කිරීමේදී. 0..1 වැනි වාක්‍ය ඛණ්ඩය දැනට පැරණි පරාස වර්ග නිර්මාණය කරයි, නමුත් භාෂාවේ අනාගත අනුවාදයක නව වර්ග වෙත සංක්‍රමණය කිරීමට සැලසුම් කර ඇත.

  • assert_matches! සහ debug_assert_matches! එකතු කරන ලදී.
    නව මැක්‍රෝ මඟින් ඔබට අගයක් ලබා දී ඇති රටාවකට ගැලපෙනවාද යන්න පරීක්ෂා කිරීමට ඉඩ සලසයි. මෙය සංකල්පයෙන් තහවුරු කිරීමට සමාන වේ!(ගැලපේ!(…)), නමුත් දෝෂයක් ඇති වූ විට, අගයේ නිදොස් කිරීමේ නිරූපණයක් මුද්‍රණය කරනු ලැබේ, රෝග විනිශ්චය සරල කරයි. ජනප්‍රිය තෙවන පාර්ශවීය කූඩ සමඟ ගැටුම් වළක්වා ගැනීම සඳහා මෙම මැක්‍රෝ Prelude වෙත එකතු කර නැත, එබැවින් ඒවා core හෝ std වෙතින් පැහැදිලිවම ආනයනය කළ යුතුය.

  • WebAssembly ඉලක්ක වල හැසිරීම වෙනස් කරන ලදී.
    Rust තවදුරටත් WebAssembly ගොඩනැගීම් සඳහා සබැඳිකරු වෙත --allow-undefined ලබා නොදේ. නිර්වචනය නොකළ සංකේත දැන් "env" මොඩියුලයෙන් ආයාත කිරීම් බවට ස්වයංක්‍රීයව පරිවර්තනය කිරීම වෙනුවට සබැඳි කිරීමේදී දෝෂ ලෙස සලකනු ලැබේ. මෙය ගොඩනැගීමේ දෝෂ සහ අවලංගු සංකේත නම් කලින් අල්ලා ගත යුතුය. අවශ්‍ය නම්, RUSTFLAGS=-Clink-arg=--allow-undefined භාවිතයෙන් හෝ #[link(wasm_import_module = "env")] භාවිතයෙන් ආයාත කළ wasm මොඩියුලය පැහැදිලිව සඳහන් කිරීමෙන් පැරණි හැසිරීම ආපසු හැරවිය හැක.

  • භාණ්ඩ ප්‍රවාහනයට ආරක්ෂක විසඳුම් ලැබී ඇත.
    තෙවන පාර්ශවීය රෙජිස්ට්‍රි භාවිතා කරන්නන්ට බලපාන අවදානම් දෙකක් Rust 1.96.0 මඟින් නිවැරදි කරයි. CVE-2026-5223 කූඩ තාර බෝල තුළ සිම්ලින්ක් හැසිරවීමට අදාළව: තෙවන පාර්ශවීය රෙජිස්ට්‍රියකින් ලැබෙන අනිෂ්ට පැකේජයක් එම රෙජිස්ට්‍රියෙන් තවත් පැකේජයක හැඹිලිය උඩින් ලිවිය හැකිය. රස්ට් 1.96.0 සිට ආරම්භ කරමින්, කාගෝ විසින් සිම්ලින්ක් අඩංගු කූඩ ලේඛනාගාර ප්‍රතික්ෂේප කරයි. CVE-2026-5222 මෙම ගැටළුව විරල ලේඛනයේ URL සාමාන්‍යකරණයට අදාළ වන අතර, දුර්ලභ අවස්ථාවන්හිදී, භාණ්ඩ ප්‍රවාහන ටෝකනයක් අනිෂ්ට ලේඛනයකට යැවීමට හේතු විය හැක. Rust කණ්ඩායමට අනුව, crates.io පරිශීලකයින්ට මෙම ගැටළු බලපාන්නේ නැත.

  • භාෂාවේ වෙනස්කම්.
    නිකුතුවට ඇතුළත් වන්නේ: සුළු නිවැරදි කිරීම් සහ වැඩිදියුණු කිරීම් කිහිපයක්: මැක්‍රෝ වල expr metaviriables cfg වෙත යැවීමට අවසර දී ඇත, ටුපල් ප්‍රකාශනවල කිසිදා ටයිප් නොකළ වාත්තු කිරීම නිවැරදි කර ඇත, ශ්‍රිත තර්ක සඳහා වැරදි වර්ග අනුමාන ඉඟි වල දුර්ලභ අවස්ථා නිරාකරණය කර ඇත, පේළිගත එකලස් කිරීමේදී s390x දෛශික රෙජිස්ටර් සඳහා සහය එක් කර ඇත, සහ ManuallyDrop නියතයන් සැකිලි ලෙස නැවත අවසර දී ඇත - මෙය Rust 1.94.0 හි හඳුන්වා දුන් ප්‍රතිගමනයක් නිවැරදි කරයි.

  • සම්පාදක සහ වේදිකා වල වෙනස්කම්.
    සඳහා LinuxLoongArch ඉලක්ක සඳහා සබැඳි ලිහිල් කිරීමේ සහාය සක්‍රීය කර ඇත - කේත යෙදවීමෙන් පසු සමහර සංක්‍රාන්ති සහ ඇමතුම් සරල කරන සම්බන්ධක ප්‍රශස්තිකරණයකි. riscv64gc-unknown-fuchsia සඳහා, දෛශික දිගු සඳහා සහය ඇතිව මූලික වින්‍යාසය RVA22 පැතිකඩට යාවත්කාලීන කර ඇත.

  • සම්මත පුස්තකාල යාවත්කාලීන කිරීම්.
    ශුන්‍ය නොවන පූර්ණ සංඛ්‍යා පරාස හරහා පුනරාවර්තනය සඳහා සහය එක් කර ඇත. ToSocketAddr හරහා SGX හි ධාරක ලිපින අලස ලෙස හැසිරවීම ද නිවැරදි කර ඇති අතර, "කියවිය හැකි/ලිවිය හැකි" මතකයේ අර්ථ දැක්වීම ලේඛනගත කිරීම සහ අභ්‍යන්තර කොන්ත්‍රාත්තු වල පැහැදිලි කර ඇත: ශුන්‍ය දර්ශකය සාමාන්‍ය අර්ථ දැක්වීමෙන් ඉවත් කර ඇති අතර, නිශ්චිත ක්‍රම සඳහා ව්‍යතිරේක දැන් වෙන වෙනම දක්වා ඇත.

  • ස්ථාවර API.
    ස්ථාවර අතුරුමුහුණත් අතර assert_matches!, debug_assert_matches!, From හි ක්‍රියාත්මක කිරීම් වේ. AssertUnwindSafe සඳහා , කම්මැලි සෛලය සහ LazyLock , මෙන්ම core::range වෙතින් නව පරාස වර්ග සහ පුනරාවර්තක, Range, RangeFrom, RangeToInclusive සහ ඒවායේ පුනරාවර්තක ඇතුළුව.

  • භාණ්ඩ: යැපීම් සහ ලියකියවිලි වලට වෙනස්කම්.
    පරායත්තතාවයකට දැන් Git ගබඩාවක් සහ විකල්ප රෙජිස්ට්‍රියක් යන දෙකම නියම කළ හැක: Git අනුවාදය දේශීයව භාවිතා කරනු ඇති අතර, crates.io සමඟ හැසිරීමට සමානව ප්‍රකාශනය අතරතුර රෙජිස්ට්‍රි අනුවාදය භාවිතා කරනු ඇත. Cargo වින්‍යාසය තුළ target.'cfg(..)'.rustdocflags සඳහා සහය ද එක් කර ඇත.

  • Rustdoc දැන් ලේඛන වඩාත් නිවැරදිව හසුරුවයි.
    අතහැර දැමූ API සටහන් දැන් white-space: pre-wrap හරහා පෙර විශේෂ සැකසුම් නොමැතිව සාමාන්‍ය ලියකියවිලි ලෙස විදහා දක්වයි. අතිරේකව, rustdoc තවදුරටත් impl තුළ ඇති මූලද්‍රව්‍ය සඳහා missing_doc_code_examples ලින්ට් නොකරන අතර, ක්‍රම සහ ආශ්‍රිත ශ්‍රිත දැන් ලේඛන පැති තීරුවේ වෙන් කර ඇත.

  • විය හැකි නොගැලපීම්.
    නිකුතුවේ සම්මත නොවන කේතයේ පෙන්විය හැකි වෙනස්කම් කිහිපයක් අඩංගු වේ: සමහර #[repr(Int)] enum වල පිරිසැලසුම ආන්තික අවස්ථාවන්හිදී සවි කර ඇති අතර, Pin හි සමහර නිෂ්ඵල ප්‍රමාණය ඉවත් කිරීමේ වාත්තු අක්‍රිය කර ඇත. , WebAssembly ගොඩනැගීම් දැන් නිර්වචනය නොකළ සංකේත මත බිඳ වැටේ, අහම්බෙන් ස්ථාවර කරන ලද #![reexport_test_harness_main] ගුණාංගය නැවතත් විශේෂාංග ගේට් කර ඇත, -Csoft-float විකල්පය ඉවත් කර ඇත, සහ අවම බාහිර LLVM අනුවාදය 21 දක්වා වැඩි කර ඇත. AVR සඳහා, c_double වර්ගය f32 ලෙස වෙනස් කර ඇත, මන්ද මෙම ඉලක්ක මත පෙරනිමියෙන් C ද්විත්ව 32-bit වේ.

මූලාශ්රය: linux.org.ru

DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත අඩවි සඳහා විශ්වාසදායක සත්කාරකත්වය මිලදී ගන්න 🔥 DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත විශ්වාසදායක වෙබ් අඩවි සත්කාරකත්වය මිලදී ගන්න | ProHoster