ரஸ்ட் 1.46 நிரலாக்க மொழி வெளியீடு

வெளியிடப்பட்டது கணினி நிரலாக்க மொழியின் 1.46 ஐ வெளியிடவும் துரு, Mozilla திட்டத்தால் நிறுவப்பட்டது. மொழி நினைவக பாதுகாப்பில் கவனம் செலுத்துகிறது, தானியங்கி நினைவக நிர்வாகத்தை வழங்குகிறது, மேலும் குப்பை சேகரிப்பாளரைப் பயன்படுத்தாமல் உயர் பணி இணைத்தன்மையை அடைவதற்கான கருவிகளை வழங்குகிறது. இயக்க.

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

முக்கிய புதுமைகள்:

  • "const fn" என்ற வெளிப்பாட்டைப் பயன்படுத்தி வரையறுக்கப்பட்ட செயல்பாடுகளின் திறன்கள் விரிவுபடுத்தப்பட்டுள்ளன, இது வழக்கமான செயல்பாடுகள் என மட்டும் அழைக்கப்படலாம், ஆனால் மாறிலிகளுக்குப் பதிலாக எந்த சூழலிலும் பயன்படுத்தப்படலாம். இந்த செயல்பாடுகள் தொகுக்கும் நேரத்தில் கணக்கிடப்படுகின்றன, இயக்க நேரத்தில் அல்ல, எனவே அவை மாறிலிகளிலிருந்து மட்டுமே படிக்கும் திறன் போன்ற சில கட்டுப்பாடுகளுக்கு உட்பட்டவை.

    புதிய வெளியீடு பூலியன் ஆபரேட்டர்களை ("&&" மற்றும் "||") போன்ற செயல்பாடுகளில் பயன்படுத்துவதற்கான தடையை நீக்குகிறது, மேலும் "if", "if let", "match" கட்டுமானங்களைப் பயன்படுத்த அனுமதிக்கிறது,
    "while", "while let" மற்றும் "loop", மேலும் "&[T]" என்ற வெளிப்பாட்டைப் பயன்படுத்தி ஸ்லைஸ்களாக (ஸ்லைஸ், டைனமிக் வரிசைகள்) மாற்றும் திறனையும் வழங்குகிறது. "const fn" செயல்பாடுகளில் இந்த அம்சங்களைப் பயன்படுத்துவது சில வள-தீவிர செயல்பாடுகளை தொகுப்பு நிலைக்கு நகர்த்த உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, "const-sha1" ஐ செயல்படுத்துவது தொகுக்கும் நேரத்தில் SHA-1 ஹாஷ்களைக் கணக்கிடுவதை சாத்தியமாக்குகிறது, இது Rust க்கான WinRT பிணைப்புகளை கிட்டத்தட்ட 40 மடங்கு அதிகரிக்க வழிவகுக்கிறது.

  • பிழைச் செய்திகளை மேலும் தகவலறிந்ததாக மாற்ற, “#[track_caller]” பண்புக்கூறுக்கான ஆதரவு நிலைப்படுத்தப்பட்டுள்ளது, இது அன்ராப் போன்ற செயல்பாடுகளுக்கு பயனுள்ளதாக இருக்கும், இது வகைகளை தவறாகப் பயன்படுத்தினால் பீதியை ஏற்படுத்தலாம். ஒரு பிழை செய்தியில் அழைப்பாளரின் இருப்பிடத்தை அச்சிட, குறிப்பிட்ட பண்புக்கூறு பீதி கையாளுபவரால் பயன்படுத்தப்படும்.
  • "const" பண்புக்கூறு, மாறிலிகளுக்குப் பதிலாக எந்த சூழலிலும் அதைப் பயன்படுத்துவதற்கான சாத்தியத்தை தீர்மானிக்கிறது, இது std::mem::forget முறையில் பயன்படுத்தப்படுகிறது.
  • நிலைப்படுத்தப்பட்ட விருப்பம்::zip மற்றும் vec::Drain::as_slice உட்பட, API இன் புதிய பகுதி நிலையான வகைக்கு நகர்த்தப்பட்டது.
  • பொதி மேலாளர் சரக்கில் சேர்க்கப்பட்டது தொகுப்பை தொகுக்கும்போது அமைக்கப்படும் புதிய சூழல் மாறிகளுக்கான ஆதரவு: CARGO_BIN_NAME (இதன் விளைவாக இயங்கக்கூடிய கோப்பின் பெயர்), CARGO_CRATE_NAME (தொகுப்பு பெயர்), CARGO_PKG_LICENSE (மேனிஃபெஸ்டில் குறிப்பிடப்பட்ட உரிமம்), CARGO_PKG_LICENSE_FILE (உரிமக் கோப்பிற்கான பாதை).

ஆதாரம்: opennet.ru

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