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

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

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

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

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

  • භාණ්ඩ පැකේජ කළමනාකරු ස්වයංක්‍රීයව විසඳිය හැකි අනතුරු ඇඟවීම් හඳුනා ගැනීම සහ "භාණ්ඩ නිවැරදි කිරීම" හෝ "කාගෝ ක්ලිපි --ෆික්ස්" ධාවනය කිරීමට සුදුසු නිර්දේශ ක්‍රියාත්මක කරයි. අනතුරු ඇඟවීම: භාවිත නොකළ ආනයනය: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | std::hash::hash භාවිතා කරන්න; | ^^^^^^^^^^^^^^^^ | = සටහන: පෙරනිමියෙන් අනතුරු ඇඟවීමෙන් '#[අවවාදයයි (භාවිතා නොකළ_ආයාත)]' සක්‍රීයයි: 'foo' (bin "foo") අනතුරු ඇඟවීමක් 1ක් ජනනය කරන ලදී (යෝජනා 1ක් යෙදීමට 'භාණ්ඩ නිවැරදි කිරීම --bin "foo"' ධාවනය කරන්න)
  • "කාගෝ ස්ථාපනය" විධානය සමඟ පුස්තකාලයක් ස්ථාපනය කිරීමට උත්සාහ කරන විට "කාර්ගෝ එකතු කරන්න" විධානය භාවිතා කිරීමට නිර්දේශයක් ප්‍රදර්ශනය කිරීමට භාණ්ඩ එකතු කරන ලදී.
  • සම්පාදනය කිරීමේ කාලය අඩු කිරීම සඳහා, ගොඩනැගීමේ ස්ක්‍රිප්ට් වල තොරතුරු නිදොස් කිරීම පෙරනිමියෙන් අබල කර ඇත. බිල්ඩ් ස්ක්‍රිප්ට් සාර්ථකව ක්‍රියාත්මක වන්නේ නම්, වෙනස් කිරීම දෘශ්‍යමාන වෙනසක් සිදු නොකරනු ඇත, නමුත් එය අසාර්ථක වුවහොත්, පසුපෙළ ඩම්ප් අඩු තොරතුරු අඩංගු වේ. Cargo.toml වෙත පැරණි හැසිරීම නැවත ලබා දීමට එක් කරන්න: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • API හි නව කොටසක් ස්ථායී කාණ්ඩයට ගෙන ගොස් ඇත, ගතිලක්ෂණවල ක්‍රම සහ ක්‍රියාත්මක කිරීම් ස්ථායීකරණය කර ඇත:
    • CStr::bytes_from_nul_nul
    • core::ffi::FromBytesUntilNulError
  • නියතයන් වෙනුවට ඕනෑම සන්දර්භයක එය භාවිතා කිරීමේ හැකියාව තීරණය කරන "const" ගුණාංගය ශ්‍රිතවල භාවිතා වේ:
    • SocketAddr::නව
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::නව
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6::නව
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • සම්පාදක තර්ක වලදී සත්‍ය සහ අසත්‍ය කොඩි භාවිතා කිරීමේ හැකියාව එක් කරන ලදී.

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

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