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

පළ කළා පද්ධති ක්‍රමලේඛන භාෂා නිකුතුව මලකඩ 1.43, Mozilla ව්යාපෘතිය විසින් ආරම්භ කරන ලදී. භාෂාව මතක ආරක්ෂාව කෙරෙහි අවධානය යොමු කරයි, ස්වයංක්‍රීය මතක කළමනාකරණය සපයයි, සහ කසළ එකතු කරන්නෙකු භාවිතා නොකර ඉහළ කාර්ය සමාන්තරකරණයක් සාක්ෂාත් කර ගැනීම සඳහා මෙවලම් සපයයි. ධාවන කාලය.

රස්ට්ගේ ස්වයංක්‍රීය මතක කළමනාකරණය සංවර්ධකයා පොයින්ටර් උපාමාරු වලින් නිදහස් කරන අතර නිදහස් පසු මතක ප්‍රවේශයන්, null pointer dereferences, buffer overruns වැනි පහත් මට්ටමේ මතක හැසිරවීම් වලින් පැන නගින ගැටළු වලින් ආරක්ෂා කරයි. ව්‍යාපෘතිය මගින් පුස්තකාල බෙදා හැරීම, එකලස් කිරීම සහතික කිරීම සහ පරායත්තතා කළමනාකරණය කිරීම සඳහා පැකේජ කළමනාකරුවෙකු සංවර්ධනය වෙමින් පවතී. ගුවන් භාණ්ඩ, වැඩසටහනට අවශ්‍ය පුස්තකාල එක ක්ලික් එකකින් ලබා ගැනීමට ඔබට ඉඩ සලසයි. පුස්තකාල සත්කාරකත්වය සඳහා ගබඩාවක් සහාය දක්වයි crates.io.

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

  • මැක්‍රෝස් මගින් මූලද්‍රව්‍යවල කොටස් ලක්ෂණ (ලක්ෂණ), ක්‍රියාත්මක කිරීම් (impl) හෝ බාහිර කොටස් සඳහා කේතයක් බවට පත් කිරීමට ඒවා භාවිතා කිරීමේ හැකියාව ලබා දේ. උදාහරණ වශයෙන්:

    සාර්ව_නීති! mac_trait {
    ($i:අයිතමය) => {
    ලක්ෂණය T {$i}
    }
    }
    mac_trait! {
    fn foo() {}
    }

    පරම්පරාවට තුඩු දෙනු ඇත:

    ලක්ෂණය T {
    fn foo() {}
    }

  • ප්‍රාථමිකයන්, යොමු කිරීම් සහ ද්විමය මෙහෙයුම් වැඩි දියුණු කළ වර්ගය හඳුනාගැනීම.
    උදාහරණයක් ලෙස, කලින් දෝෂයක් ඇති කළ පහත කේතය දැන් සම්පාදනය කිරීමට හැකි වනු ඇත (රස්ට් දැන් 0.0 සහ &0.0 f32 වර්ගයේ විය යුතු බව නිවැරදිව තීරණය කරයි):

    ඉඩ දෙන්න n: f32 = 0.0 + &0.0;

  • නව පරිසර විචල්‍යයක් CARGO_BIN_EXE_{name} Cargo වෙත එක් කර ඇත, එය ඒකාබද්ධතා පරීක්ෂණ ගොඩනඟන විට සකසා ඇති අතර පැකේජයේ “[[bin]]” කොටසේ අර්ථ දක්වා ඇති ක්‍රියාත්මක කළ හැකි ගොනුව වෙත සම්පූර්ණ මාර්ගය තීරණය කිරීමට ඔබට ඉඩ සලසයි.
  • "#[cfg()]" වැනි ගුණාංග භාවිතා කිරීමට ප්‍රකාශයන්ට අවසර තිබේ නම්.
  • මොඩියුලයක් ආනයනය නොකර පූර්ණ සංඛ්‍යා සහ භාගික වර්ග සඳහා සෘජුවම ආශ්‍රිත නියතයන් භාවිතා කිරීමේ හැකියාව පුස්තකාලය සපයයි. උදාහරණයක් ලෙස, ඔබට "std::u32 භාවිතා කරන්න" සහ "std::f32 භාවිතා කරන්න" යන්න සඳහන් නොකර වහාම u32::MAX හෝ f32::NAN ලිවිය හැක.
  • නව මොඩියුලය එකතු කරන ලදී ප්රාථමිකය, එය රස්ට් ප්‍රාථමික වර්ග ප්‍රති-අපනයනය කරයි, උදාහරණයක් ලෙස ඔබට මැක්‍රෝ එකක් ලිවීමට අවශ්‍ය වූ විට සහ වර්ග සඟවා නොමැති බවට වග බලා ගන්න.
  • API හි නව කොටසක් ස්ථායීකෘත ඇතුළුව ස්ථාවර කාණ්ඩයට මාරු කර ඇත

    වරක්:: නිම වූ පසු,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 සහ
    iter:: one_with.

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

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