செய்தி வெளியிடப்பட்டுள்ளது துரு 1.96.0 ரஸ்ட் நிரலாக்க மொழியின் சமீபத்திய நிலையான பதிப்பு வெளியிடப்பட்டுள்ளது. 28 May 2026 ஆண்டுகள்இதை வழக்கமான rustup update stable கட்டளையைப் பயன்படுத்தி நிறுவலாம். முக்கிய மாற்றங்களில் core::range-இல் புதிய வரம்பு வகைகள், பேட்டர்ன் மேட்சிங் மேக்ரோக்களின் நிலைப்படுத்தல், WebAssembly உருவாக்கச் செயல்பாட்டைக் கடுமையாக்குதல் மற்றும் Cargo-வில் உள்ள இரண்டு பாதிப்புகளுக்கான திருத்தங்கள் ஆகியவை அடங்கும்.
பெரிய மாற்றங்கள்
புதிய வரம்பு வகைகள் core::range::Range*.
தரநிலை நூலகத்தில் புதிய வரம்பு வகைகள் நிலைப்படுத்தப்பட்டுள்ளன: core::range::Range, RangeFrom, RangeInclusive, மற்றும் அவற்றுடன் தொடர்புடைய இட்டரேட்டர்கள். core::ops-இல் உள்ள பழைய வகைகளைப் போலல்லாமல், இந்தப் புதிய வரம்புகள் நேரடியாக இட்டரேட்டரைச் செயல்படுத்துவதில்லை, மாறாக IntoIterator வழியாக ஒரு இட்டரேட்டராக மாற்றப்படுகின்றன. இது இந்த வரம்புகளை நகலெடுக்கக்கூடியதாக (Copyable) ஆக்குகிறது, இது, எடுத்துக்காட்டாக, ஒரு வரம்பை ஒரு கட்டமைப்புப் புலமாக (structure field) சேமிக்கும்போது வசதியாக இருக்கும். தற்போது 0..1 போன்ற தொடரியல் பழைய வரம்பு வகைகளை உருவாக்குகிறது, ஆனால் இது மொழியின் எதிர்காலப் பதிப்பில் புதிய வகைகளுக்கு மாற்றப்படத் திட்டமிடப்பட்டுள்ளது.assert_matches! மற்றும் debug_assert_matches! சேர்க்கப்பட்டன.
ஒரு மதிப்பு கொடுக்கப்பட்ட வடிவத்துடன் பொருந்துகிறதா என்பதைச் சரிபார்க்க புதிய மேக்ரோக்கள் உங்களை அனுமதிக்கின்றன. இது assert!(matches!(…)) என்பதன் கருத்தைப் போன்றது, ஆனால் ஒரு பிழை ஏற்பட்டால், அந்த மதிப்பின் பிழைதிருத்தப் பிரதி அச்சிடப்பட்டு, கண்டறிதலை எளிதாக்குகிறது. பிரபலமான மூன்றாம் தரப்பு கிரேட்களுடன் ஏற்படும் முரண்பாடுகளைத் தவிர்ப்பதற்காக இந்த மேக்ரோக்கள் பிரிலூடில் சேர்க்கப்படவில்லை, எனவே அவற்றை core அல்லது std-இலிருந்து வெளிப்படையாக இறக்குமதி செய்ய வேண்டும்.WebAssembly இலக்குகளின் செயல்பாடு மாற்றப்பட்டது.
ரஸ்ட் இனி வெப்அசெம்பிளி உருவாக்கங்களுக்கு --allow-undefined என்பதை இணைப்பானுக்கு அனுப்புவதில்லை. வரையறுக்கப்படாத குறியீடுகள் இப்போது இணைப்பின் போது பிழைகளாகக் கருதப்படுகின்றன, மாறாக "env" தொகுதியிலிருந்து தானாகவே இறக்குமதிகளாக மாற்றப்படுவதில்லை. இது உருவாக்கப் பிழைகளையும் தவறான குறியீட்டுப் பெயர்களையும் முன்கூட்டியே கண்டறியும். தேவைப்பட்டால், RUSTFLAGS=-Clink-arg=--allow-undefined என்பதைப் பயன்படுத்துவதன் மூலமோ அல்லது #[link(wasm_import_module = "env")] என்பதைப் பயன்படுத்தி இறக்குமதி செய்யப்பட்ட wasm தொகுதியைத் தெளிவாகக் குறிப்பிடுவதன் மூலமோ பழைய செயல்பாட்டிற்குத் திரும்பலாம்.கார்கோ பாதுகாப்புத் திருத்தங்களைப் பெற்றுள்ளது.
மொழியில் ஏற்படும் மாற்றங்கள்.
இந்த வெளியீட்டில் அடங்குபவை: பல சிறிய திருத்தங்கள் மற்றும் மேம்பாடுகள்: மேக்ரோக்களின் expr மெட்டாவேரியபிள்களை cfg-க்கு அனுப்ப அனுமதித்தது, டியூபிள் எக்ஸ்பிரஷன்களில் இருந்த never-type casting பிழையைச் சரிசெய்தது, ஃபங்ஷன் ஆர்கியூமென்ட்களுக்கான தவறான வகை அனுமானக் குறிப்புகள் இருந்த அரிதான நிகழ்வுகளைச் சரிசெய்தது, இன்லைன் அசெம்ப்ளியில் s390x வெக்டர் ரெஜிஸ்டர்களுக்கான ஆதரவைச் சேர்த்தது, மற்றும் ManuallyDrop கான்ஸ்டன்ட்களை டெம்ப்ளேட்டுகளாக மீண்டும் அனுமதித்தது—இது ரஸ்ட் 1.94.0-ல் ஏற்பட்ட ஒரு பின்னடைவைச் சரிசெய்கிறது.தொகுப்பி மற்றும் இயங்குதளங்களில் ஏற்படும் மாற்றங்கள்.
செய்ய Linuxலூங்ஆர்ச் இலக்குகளுக்கு இணைப்புத் தளர்வு ஆதரவு செயல்படுத்தப்பட்டுள்ளது—இது குறியீடு வரிசைப்படுத்தலுக்குப் பிறகு சில நிலைமாற்றங்களையும் அழைப்புகளையும் எளிதாக்கும் ஒரு இணைப்பு உகப்பாக்கம் ஆகும். riscv64gc-unknown-fuchsia-வைப் பொறுத்தவரை, அடிப்படைக் கட்டமைப்பு, வெக்டர் நீட்டிப்புகளுக்கான ஆதரவுடன் கூடிய RVA22 சுயவிவரத்திற்குப் புதுப்பிக்கப்பட்டுள்ளது.தரநிலை நூலகப் புதுப்பிப்புகள்.
பூஜ்ஜியமற்ற முழு எண் வரம்புகளில் செயல்படுவதற்கான ஆதரவு சேர்க்கப்பட்டுள்ளது. ToSocketAddr வழியாக SGX-இல் ஹோஸ்ட் முகவரிகளைக் கையாளும் தாமதப் பிரச்சனையும் சரிசெய்யப்பட்டுள்ளது. மேலும், ஆவணங்கள் மற்றும் உள் ஒப்பந்தங்களில் "படிக்கக்கூடிய/எழுதக்கூடிய" நினைவகத்தின் வரையறை தெளிவுபடுத்தப்பட்டுள்ளது: பொதுவான வரையறையிலிருந்து நல் பாயிண்டர் (null pointer) நீக்கப்பட்டுள்ளது, மற்றும் விதிவிலக்குகள் இப்போது குறிப்பிட்ட முறைகளுக்குத் தனியாகக் குறிப்பிடப்படுகின்றன.நிலைப்படுத்தப்பட்ட API-கள்.
நிலைப்படுத்தப்பட்ட இடைமுகங்களில் assert_matches!, debug_assert_matches!, மற்றும் From-இன் செயலாக்கங்கள் ஆகியவை அடங்கும். AssertUnwindSafe-க்கு , சோம்பேறி செல் மற்றும் லேசிலாக் அத்துடன், core::range-இலிருந்து வரும் Range, RangeFrom, RangeToInclusive மற்றும் அவற்றின் இட்டரேட்டர்கள் உள்ளிட்ட புதிய ரேஞ்ச் வகைகள் மற்றும் இட்டரேட்டர்களும் அடங்கும்.சரக்கு: சார்புநிலைகள் மற்றும் ஆவணங்களில் மாற்றங்கள்.
ஒரு சார்புநிலை இப்போது ஒரு Git களஞ்சியத்தையும் ஒரு மாற்றுப் பதிவகத்தையும் குறிப்பிட முடியும்: Git பதிப்பு உள்ளூரில் பயன்படுத்தப்படும், மற்றும் பதிவகப் பதிப்பு வெளியிடும்போது பயன்படுத்தப்படும், இது crates.io-வில் உள்ள செயல்பாட்டைப் போன்றது. Cargo உள்ளமைவில் target.'cfg(..)'.rustdocflags-க்கான ஆதரவும் சேர்க்கப்பட்டுள்ளது.ரஸ்டாக் இப்போது ஆவணங்களை மிகவும் துல்லியமாகக் கையாளுகிறது.
வழக்கற்றுப் போன API குறிப்புகள், முன்பு இருந்த white-space: pre-wrap என்ற சிறப்புச் செயலாக்கம் இன்றி, இப்போது வழக்கமான ஆவணங்களாகக் காட்டப்படுகின்றன. மேலும், rustdoc இனி impl-க்குள் உள்ள கூறுகளுக்கான missing_doc_code_examples-ஐ சரிபார்ப்பதில்லை, அத்துடன் முறைகளும் அதனுடன் தொடர்புடைய சார்புகளும் இப்போது ஆவணப் பக்கப்பட்டியில் பிரிக்கப்பட்டுள்ளன.பொருந்தாமைகள் ஏற்பட வாய்ப்புள்ளது.
இந்த வெளியீட்டில், வழக்கத்திற்கு மாறான குறியீட்டில் வெளிப்படக்கூடிய பல மாற்றங்கள் உள்ளன: சில #[repr(Int)] எனம்களின் தளவமைப்பு தீவிரமான சூழல்களில் சரிசெய்யப்பட்டுள்ளது, மேலும் Pin-இல் உள்ள சில பயனற்ற unsize casts முடக்கப்பட்டுள்ளன. , வரையறுக்கப்படாத குறியீடுகளால் WebAssembly கட்டமைப்புகள் இப்போது செயலிழக்கின்றன, தற்செயலாக நிலைப்படுத்தப்பட்ட #![reexport_test_harness_main] பண்புக்கூறு மீண்டும் அம்சக் கட்டுப்பாடு செய்யப்பட்டுள்ளது, -Csoft-float விருப்பம் நீக்கப்பட்டுள்ளது, மற்றும் குறைந்தபட்ச வெளிப்புற LLVM பதிப்பு 21 ஆக அதிகரிக்கப்பட்டுள்ளது. AVR-ஐப் பொறுத்தவரை, c_double வகை f32 ஆக மாற்றப்பட்டுள்ளது, ஏனெனில் இந்த இலக்குகளில் C double-கள் இயல்பாகவே 32-பிட் ஆகும்.
ஆதாரம்: linux.org.ru
