රස්ට් 1.62 ක්‍රමලේඛන භාෂා නිකුතුව

Mozilla ව්‍යාපෘතිය විසින් ආරම්භ කරන ලද, නමුත් දැන් ස්වාධීන ලාභ නොලබන සංවිධානයක් වන Rust Foundation හි අනුග්‍රහය යටතේ සංවර්ධනය කරන ලද Rust 1.62 පොදු කාර්ය ක්‍රමලේඛන භාෂාව නිකුත් කිරීම ප්‍රකාශයට පත් කර ඇත. භාෂාව මතක ආරක්‍ෂාව කෙරෙහි අවධානය යොමු කරන අතර කසළ එකතු කරන්නෙකු සහ ධාවන කාලය (ධාවන කාලය සම්මත පුස්තකාලයේ මූලික ආරම්භ කිරීම සහ නඩත්තු කිරීම දක්වා අඩු කර ඇති අතර) භාවිතය වළක්වා ගනිමින් ඉහළ රැකියා සමාන්තරතාවයක් ලබා ගැනීමට මාධ්‍යයන් සපයයි.

රස්ට්ගේ මතකය හැසිරවීමේ ක්‍රම මගින් පොයින්ටර් හසුරුවන විට ඇතිවන දෝෂ වලින් සංවර්ධකයා සුරකින අතර අඩු මට්ටමේ මතකය හැසිරවීම නිසා පැන නගින ගැටළු වලින් ආරක්ෂා කරයි, එනම් මතක ප්‍රදේශයකට නිදහස් වූ පසු ප්‍රවේශ වීම, ශුන්‍ය දර්ශක ඉවත් කිරීම, බෆරය ඉක්මවා යාම යනාදිය. පුස්තකාල බෙදා හැරීම, ගොඩනැගීම් සැපයීම සහ පරායත්තතා කළමනාකරණය කිරීම සඳහා, ව්‍යාපෘතිය Cargo pack manager සංවර්ධනය කරයි. crates.io ගබඩාව පුස්තකාල සත්කාරකත්වය සඳහා සහය දක්වයි.

සමුද්දේශ පරීක්ෂා කිරීම, වස්තු හිමිකාරිත්වය නිරීක්ෂණය කිරීම, වස්තුවේ ආයු කාලය (පථය) නිරීක්ෂණය කිරීම සහ කේත ක්‍රියාත්මක කිරීමේදී මතක ප්‍රවේශයේ නිවැරදි බව තක්සේරු කිරීම හරහා සම්පාදනය කරන වේලාවේදී මතක ආරක්ෂාව රස්ට් තුළ සපයනු ලැබේ. මලකඩ පූර්ණ සංඛ්‍යා පිටාර ගැලීම් වලට එරෙහිව ආරක්ෂාව සපයයි, භාවිතයට පෙර විචල්‍ය අගයන් අනිවාර්යයෙන් ආරම්භ කිරීම අවශ්‍ය වේ, සම්මත පුස්තකාලයේ දෝෂ වඩා හොඳින් හසුරුවයි, පෙරනිමියෙන් වෙනස් කළ නොහැකි යොමු සහ විචල්‍යයන් පිළිබඳ සංකල්පය යොදයි, තාර්කික දෝෂ අවම කිරීම සඳහා ශක්තිමත් ස්ථිතික ටයිප් කිරීමක් ඉදිරිපත් කරයි.

ප්රධාන නවෝත්පාදන:

  • "කාර්ගෝ" පැකේජ කළමනාකරු "එකතු කරන්න" විධානය ලබා දෙයි, එමඟින් ඔබට Cargo.toml මැනිෆෙස්ටයට නව පරායත්තතා එක් කිරීමට හෝ විධාන රේඛාවෙන් පවතින පරායත්තතා වෙනස් කිරීමට ඉඩ සලසයි. විධානය මඟින් ඔබට තනි විශේෂාංග සහ අනුවාද නියම කිරීමට ඉඩ සලසයි, උදාහරණයක් ලෙස: භාණ්ඩ එකතු කරන්න serde - විශේෂාංග ව්‍යුත්පන්න භාණ්ඩ එකතු කරන්න nom@5
  • “#[default]” ගුණාංගය භාවිතයෙන් පෙරනිමි විකල්පය අර්ථ දක්වා ඇති enums සමඟ “#[ව්‍යුත්පන්න (පෙරනිමි)]” භාවිත කිරීමේ හැකියාව එක් කරන ලදී. #[ව්යුත්පන්න(පෙරනිමි)] enum සමහරවිට { #[පෙරනිමි] කිසිවක් නැත, යමක්(T),}
  • Linux වේදිකාවේ, Linux කර්නලය මඟින් සපයනු ලබන ෆියුටෙක්ස් භාවිතය මත පදනම්ව, Mutex සමමුහුර්ත කිරීමේ යාන්ත්‍රණයේ වඩාත් සංයුක්ත හා වේගවත් ක්‍රියාත්මක කිරීමක් භාවිතා වේ. pthreads පුස්තකාලය මත පදනම්ව කලින් භාවිතා කරන ලද ක්‍රියාත්මක කිරීම මෙන් නොව, නව අනුවාදය Mutex තත්ත්වය ගබඩා කිරීම සඳහා 5 වෙනුවට බයිට් 40ක් පමණක් භාවිතා කරයි.එසේම Condvar සහ RwLock අගුලු දැමීමේ යාන්ත්‍රණයන් futex වෙත මාරු කර ඇත.
  • x86_64-unknown-none target platform සඳහා දෙවන මට්ටමේ සහය ක්‍රියාත්මක කර ඇත, මෙහෙයුම් පද්ධතියකින් තොරව ක්‍රියා කළ හැකි ක්‍රියාත්මක කළ හැකි ගොනු උත්පාදනය කිරීමට සැලසුම් කර ඇත. උදාහරණයක් ලෙස, කර්නල් සංරචක ලිවීමේදී නිශ්චිත ඉලක්ක වේදිකාව භාවිතා කළ හැක. දෙවන මට්ටමේ ආධාරක එකලස් කිරීමේ සහතිකයක් ඇතුළත් වේ.
  • aarch64-pc-windows-gnullvm සහ x86_64-pc-windows-gnullvm වේදිකා සඳහා තෙවන මට්ටමේ සහය ක්‍රියාත්මක කර ඇත. තුන්වන මට්ටමට මූලික සහාය ඇතුළත් වේ, නමුත් ස්වයංක්‍රීය පරීක්ෂාවකින් තොරව, නිල ගොඩනැගීම් ප්‍රකාශනය කිරීම හෝ කේතය ගොඩනැගිය හැකිද යන්න පරීක්ෂා කිරීම.
  • API හි නව කොටසක් ස්ථායී කාණ්ඩයට ගෙන ගොස් ඇත, ගතිලක්ෂණවල ක්‍රම සහ ක්‍රියාත්මක කිරීම් ස්ථායීකරණය කර ඇත:
    • bool::එතකොට_සමහර
    • f32:: total_cmp
    • f64:: total_cmp
    • Stdin:: lines
    • windows:: CommandExt::raw_arg
    • impl AssertUnwindSafe සඳහා පෙරනිමි අගය
    • සිට > Rc සඳහා
    • සිට > Arc සඳහා <[u8]>
    • EncodeWide සඳහා FusedIterator

    මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න