ரஸ்ட் நிரலாக்க மொழி வெளியீடு 2021 (1.56)

கணினி நிரலாக்க மொழியான ரஸ்ட் 1.56 இன் வெளியீடு, மொஸில்லா திட்டத்தால் நிறுவப்பட்டது, ஆனால் இப்போது சுயாதீனமான இலாப நோக்கற்ற அமைப்பான ரஸ்ட் அறக்கட்டளையின் அனுசரணையில் உருவாக்கப்பட்டது, வெளியிடப்பட்டது. வழக்கமான பதிப்பு எண்ணுடன் கூடுதலாக, வெளியீடு ரஸ்ட் 2021 என்றும் நியமிக்கப்பட்டுள்ளது மற்றும் கடந்த மூன்று ஆண்டுகளில் முன்மொழியப்பட்ட மாற்றங்களின் உறுதிப்படுத்தலைக் குறிக்கிறது. கடந்த மூன்று ஆண்டுகளில் ரஸ்ட் 2021 இன் வெளியீடு எவ்வாறு மொழியின் வளர்ச்சிக்கு அடிப்படையாக அமைந்தது என்பதைப் போலவே, அடுத்த மூன்று ஆண்டுகளில் செயல்பாட்டை அதிகரிப்பதற்கான அடிப்படையாகவும் ரஸ்ட் 2018 செயல்படும்.

இணக்கத்தன்மையை பராமரிக்க, டெவலப்பர்கள் தங்கள் திட்டங்களில் "2015", "2018" மற்றும் "2021" லேபிள்களைப் பயன்படுத்தலாம், இது ரஸ்டின் தேர்ந்தெடுக்கப்பட்ட பதிப்புகளுடன் தொடர்புடைய மொழி நிலை துண்டுகளுடன் நிரல்களை இணைக்க அனுமதிக்கிறது. பொருந்தாத மாற்றங்களைப் பிரிக்க பதிப்புகள் அறிமுகப்படுத்தப்பட்டன, மேலும் அவை "[தொகுப்பு]" பிரிவில் உள்ள "பதிப்பு" புலத்தின் மூலம் சரக்கு தொகுப்புகளின் மெட்டாடேட்டாவில் கட்டமைக்கப்படுகின்றன. எடுத்துக்காட்டாக, “2018” பதிப்பில் 2018 ஆம் ஆண்டின் இறுதியில் நிலைப்படுத்தப்பட்ட செயல்பாட்டை உள்ளடக்கியது மற்றும் இணக்கத்தன்மையை மீறாத அனைத்து மாற்றங்களையும் உள்ளடக்கியது. 2021 பதிப்பில் தற்போதைய 1.56 வெளியீட்டில் முன்மொழியப்பட்ட மற்றும் எதிர்காலச் செயலாக்கத்திற்கு அங்கீகரிக்கப்பட்ட இயங்குதன்மை-பிரேக்கிங் அம்சங்களையும் உள்ளடக்கியது. மொழிக்கு கூடுதலாக, ஆசிரியர்கள் கருவிகள் மற்றும் ஆவணங்களின் நிலையை கணக்கில் எடுத்துக்கொள்கிறார்கள்.

ரஸ்ட் 2021 இல் பதிவுசெய்யப்பட்ட முக்கிய இணக்கமின்மைகள்:

  • மூடல்களில் தனிப் பிடிப்பு - மூடல்கள் முழு அடையாளங்காட்டிக்குப் பதிலாக தனிப்பட்ட புலப் பெயர்களைப் பிடிக்கலாம். உதாரணமாக, "|| ax + 1" ஆனது "a" க்கு பதிலாக "ax" ஐ மட்டுமே பிடிக்கும்.
  • வரிசைகளுக்கான IntoIterator பண்பு: array.into_iter() ஆனது, குறிப்புகள் மூலம் அல்லாமல், மதிப்புகள் மூலம் வரிசை உறுப்புகளை மீண்டும் செய்ய அனுமதிக்கிறது.
  • "|" வெளிப்பாடுகளின் செயலாக்கம் மேக்ரோ_ரூல்களில் மாற்றப்பட்டுள்ளது (பூலியன் OR) வடிவங்களில் - போட்டிகளில் உள்ள ":pat" குறிப்பான் இப்போது "A | பி".
  • கார்கோ பேக்கேஜ் மேனேஜர் இயல்புநிலையாக அம்சம் தீர்க்கும் இரண்டாவது பதிப்பை உள்ளடக்கியது, அதற்கான ஆதரவு ரஸ்ட் 1.51 இல் தோன்றியது.
  • டிரைஃப்ரம், ட்ரைஇண்டோ மற்றும் ஃப்ரம்இட்டரேட்டர் பண்புகள் முன்னுரை நிலையான நூலகத் தொகுதியில் சேர்க்கப்பட்டுள்ளன.
  • பீதி!(..) மற்றும் உறுதி!(expr, ..) மேக்ரோக்கள் இப்போது println!() போன்ற சரங்களை வடிவமைக்க format_args!(..) ஐப் பயன்படுத்துகின்றன.
  • ident#, ident»..." மற்றும் ident'...' ஆகிய வெளிப்பாடுகள் மொழி தொடரியலில் ஒதுக்கப்பட்டுள்ளன.
  • Bare_trait_objects மற்றும் ellipsis_inclusive_range_patterns எச்சரிக்கைகள் பிழைகளுக்கு நகர்த்தப்பட்டன.

ரஸ்ட் 1.56 இல் புதியது:

  • Cargo.toml இல், “[தொகுப்பு]” பிரிவில், துரு-பதிப்பு புலம் சேர்க்கப்பட்டுள்ளது, இதன் மூலம் நீங்கள் க்ரேட் பேக்கேஜுக்கான குறைந்தபட்ச ஆதரவுடைய ரஸ்டின் பதிப்பைத் தீர்மானிக்கலாம். தற்போதைய பதிப்பு குறிப்பிட்ட அளவுருவுடன் பொருந்தவில்லை என்றால், பிழை செய்தியுடன் சரக்கு வேலை செய்வதை நிறுத்தும்.
  • "பைண்டிங் @ பேட்டர்ன்" வெளிப்பாடுகளைப் பயன்படுத்தி பேட்டர்ன் மேட்ச் செய்யும் போது, ​​கூடுதல் பிணைப்புகளைக் குறிப்பிடுவதற்கு ஆதரவு வழங்கப்படுகிறது (உதாரணமாக, "மேட்ரிக்ஸ் @ மேட்ரிக்ஸ் {row_len, .. } = get_matrix();").
  • API இன் ஒரு புதிய பகுதி நிலையான வகைக்கு நகர்த்தப்பட்டது, இதில் பண்புகளின் முறைகள் மற்றும் செயலாக்கங்கள் உறுதிப்படுத்தப்பட்டுள்ளன:
    • std::os::unix::fs::chroot
    • பாதுகாப்பற்ற செல்::raw_get
    • BufWriter:: into_parts
    • core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}
    • Vec::சுருக்க_க்கு
    • சரம்::சுருக்க_இடு
    • OsString::shrink_to
    • PathBuf:: shrink_to
    • பைனரி ஹீப்:: shrink_to
    • VecDeque:: shrink_to
    • HashMap::shrink_to
    • HashSet::shrink_to
  • மாறிலிகளுக்குப் பதிலாக எந்தச் சூழலிலும் பயன்படுத்துவதற்கான சாத்தியத்தை நிர்ணயிக்கும் "const" பண்புக்கூறு செயல்பாடுகளில் பயன்படுத்தப்படுகிறது.
    • std::mem:: transmute
    • [டி]::முதலில்
    • [டி]:: பிளவு_முதல்
    • [டி]::கடைசி
    • [டி]:: பிளவு_கடைசி
  • LLVM பதிப்பு 13 ஐப் பயன்படுத்துவதற்கு கம்பைலர் மாற்றப்பட்டுள்ளது.
  • aarch64-apple-ios-sim இயங்குதளத்திற்கு இரண்டாவது நிலை ஆதரவும், powerpc-unknown-freebsd மற்றும் riscv32imc-esp-espidf தளங்களுக்கு மூன்றாவது நிலையும் செயல்படுத்தப்பட்டுள்ளது. மூன்றாம் நிலை அடிப்படை ஆதரவை உள்ளடக்கியது, ஆனால் தானியங்கு சோதனை இல்லாமல், அதிகாரப்பூர்வ உருவாக்கங்களை வெளியிடுதல் அல்லது குறியீட்டை உருவாக்க முடியுமா என்பதைச் சரிபார்த்தல்.

ரஸ்ட் நினைவக பாதுகாப்பில் கவனம் செலுத்துகிறது, தானியங்கி நினைவக நிர்வாகத்தை வழங்குகிறது, மேலும் குப்பை சேகரிப்பான் அல்லது இயக்க நேரத்தைப் பயன்படுத்தாமல் வேலைச் செயல்பாட்டில் அதிக இணையான நிலையை அடைவதற்கான வழிமுறைகளை வழங்குகிறது (இயக்க நேரம் நிலையான நூலகத்தின் அடிப்படை துவக்கம் மற்றும் பராமரிப்புக்கு குறைக்கப்படுகிறது).

ரஸ்டின் தானியங்கி நினைவக மேலாண்மை சுட்டிகளை கையாளும் போது ஏற்படும் பிழைகளை நீக்குகிறது மற்றும் குறைந்த அளவிலான நினைவக கையாளுதலில் இருந்து எழும் சிக்கல்களிலிருந்து பாதுகாக்கிறது, அதாவது நினைவகப் பகுதியை விடுவித்த பிறகு அணுகுவது, பூஜ்ய சுட்டிக்காட்டி குறைபாடுகள், இடையக மீறல்கள் போன்றவை. நூலகங்களை விநியோகிக்க, அசெம்பிளியை உறுதிப்படுத்த மற்றும் சார்புகளை நிர்வகிக்க, திட்டம் சரக்கு தொகுப்பு மேலாளரை உருவாக்குகிறது. நூலகங்களை வழங்குவதற்கு crates.io களஞ்சியம் துணைபுரிகிறது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்