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

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

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

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

  • rustc கம்பைலரில் பாதுகாப்பானது குறியீடு விவரக்குறிப்பு முடிவுகளின் அடிப்படையில் மேம்படுத்தலுக்கான ஆதரவு (PGO, சுயவிவரம்-வழிகாட்டப்பட்ட உகப்பாக்கம்),
    நிரல் செயல்படுத்தலின் போது திரட்டப்பட்ட புள்ளிவிவரங்களின் பகுப்பாய்வின் அடிப்படையில் மிகவும் உகந்த குறியீட்டை உருவாக்க உங்களை அனுமதிக்கிறது. சுயவிவரத்தை உருவாக்க, “-C சுயவிவரத்தை உருவாக்கு” ​​கொடி வழங்கப்படுகிறது, மேலும் அசெம்பிளியின் போது சுயவிவரத்தைப் பயன்படுத்த - “-C சுயவிவரம்-பயன்பாடு” (ஆரம்பத்தில், நிரல் முதல் கொடியுடன் கூடியது, சுற்றி இயங்குகிறது மற்றும் உருவாக்கிய பிறகு சுயவிவரம், அது இரண்டாவது கொடியுடன் மீண்டும் இணைக்கப்பட்டுள்ளது);

  • "கார்கோ ரன்" கட்டளையை இயக்கும் போது, ​​கன்சோல் பயன்பாடுகளை விரைவாகச் சோதிக்கப் பயன்படுத்த வசதியாக இருக்கும், தொகுப்பில் பல இயங்கக்கூடிய கோப்புகள் இருந்தால், இயக்கக்கூடிய ஒரு இயங்கக்கூடிய கோப்பைத் தானாகவே தேர்ந்தெடுக்கும் திறன் சேர்க்கப்பட்டுள்ளது. செயல்படுத்தப்பட வேண்டிய இயல்புநிலை கோப்பு, தொகுப்பு அளவுருக்களுடன் [பேக்கேஜ்] பிரிவில் உள்ள இயல்புநிலை-இயக்க உத்தரவு மூலம் தீர்மானிக்கப்படுகிறது, இது ஒவ்வொரு முறையும் நீங்கள் “கார்கோ ரன்” ஐ இயக்கும்போது “-பின்” கொடியின் மூலம் கோப்பு பெயரை வெளிப்படையாகக் குறிப்பிடுவதைத் தவிர்க்க அனுமதிக்கிறது;
  • "சரக்கு விற்பனையாளர்" கட்டளை, முன்பு வழங்கப்பட்டது தனி தொகுப்பு. சார்புகளின் உள்ளூர் நகலுடன் பணியை ஒழுங்கமைக்க கட்டளை உங்களை அனுமதிக்கிறது - “சரக்கு விற்பனையாளர்” செயல்படுத்திய பிறகு, திட்டத்தின் சார்புகளின் அனைத்து மூலக் குறியீடுகளும் crates.io இலிருந்து உள்ளூர் கோப்பகத்திற்கு பதிவிறக்கம் செய்யப்படுகின்றன, பின்னர் அவை கிரேட்களை அணுகாமல் வேலைக்குப் பயன்படுத்தப்படலாம். io (கட்டளையை இயக்கிய பிறகு, கட்டமைப்பை மாற்றுவதற்கான ஒரு குறிப்பு, உருவாக்கத்திற்கான கோப்பகத்தைப் பயன்படுத்தக் காட்டப்படும்). இந்த அம்சம் ஏற்கனவே ஒரு காப்பகத்தில் அனைத்து சார்புகளின் பேக்கேஜிங் மூலம் rustc கம்பைலரின் விநியோகத்தை ஒழுங்கமைக்கப் பயன்படுத்தப்படுகிறது.
  • வகை மாற்றுப்பெயர்களைப் பயன்படுத்தி enum விருப்பங்களுக்கான இணைப்புகளை உருவாக்குவது இப்போது சாத்தியமாகும் (உதாரணமாக, “fn increment_or_zero(x: ByteOption) செயல்பாட்டின் உடலில், “ByteOption::None => 0” என்பதைக் குறிப்பிடலாம்), கணக்கீட்டு கட்டமைப்பை வகை (‹ MyType‹.. ››::option => N) அல்லது சுய அணுகல்கள் (c &self தொகுதிகளில் “Self::Quarter => 25”) குறிப்பிடலாம்;
  • மேக்ரோக்களில் பெயரிடப்படாத மாறிலிகளை உருவாக்கும் திறன் சேர்க்கப்பட்டது. "const" இல் உறுப்பு பெயரை வரையறுப்பதற்குப் பதிலாக, நீங்கள் இப்போது "_" எழுத்தைப் பயன்படுத்தி, மீண்டும் மீண்டும் வராத அடையாளங்காட்டியைத் தேர்ந்தெடுக்கலாம், மேக்ரோவை மீண்டும் அழைக்கும்போது பெயர் முரண்பாடுகளைத் தவிர்க்கலாம்;
  • சீரமைப்புடன் ஒரு AlignN‹T› கட்டமைப்பை வரையறுத்து, AlignN‹MyEnum›ஐப் பயன்படுத்துவதைப் போன்ற தொடரியல் பயன்படுத்தி enums உடன் "#[repr(align(N))" பண்புக்கூறைப் பயன்படுத்தும் திறனைச் சேர்த்தது;
  • API இன் புதிய பகுதியானது BufReader::buffer, BufWriter::buffer மற்றும் உள்ளிட்ட நிலையான வகைக்கு நகர்த்தப்பட்டது.
    செல்::from_mut,
    செல்:: செல்களின்_ஸ்லைஸ்,
    DoubleEndedIterator::nth_back,
    விருப்பம்::xor
    {i,u}{8,16,64,128,size}::reverse_bits, wrapping::reverse_bits மற்றும்
    துண்டு:: நகல்_உள்ளே.

கூடுதலாக, அதை கவனிக்க முடியும் சோதனை ஆரம்பம் திட்டம் ஒத்திசைவு-நிலை, இது ரஸ்ட் ஸ்டாண்டர்ட் லைப்ரரியின் ஒத்திசைவற்ற மாறுபாட்டை வழங்குகிறது (எஸ்டிடி லைப்ரரியின் போர்ட், இதில் அனைத்து இடைமுகங்களும் ஒத்திசைவு பதிப்பில் வழங்கப்படுகின்றன மற்றும் ஒத்திசைவு/காத்திருப்பு தொடரியல் பயன்படுத்த தயாராக உள்ளன).

ஆதாரம்: opennet.ru

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