Rust 1.85 जारी: प्रमुख नवाचारों और सुधारों का अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Rust 1.85 जारी: नए रिलीज़ में क्या बदला



Rust डेवलपर टीम ने भाषा का एक और स्थिर अपडेट प्रस्तुत किया है — संस्करण 1.85। यह रिलीज़ कई लंबे समय से प्रतीक्षित सुविधाएँ लाता है जो एसिंक्रोनस कोड लिखने को सरल बनाती हैं, प्रदर्शन में सुधार करती हैं और डेवलपर टूलकिट का विस्तार करती हैं। आइए प्रमुख बदलावों पर नज़र डालें।



async closures का स्थिरीकरण

मुख्य घटनाओं में से एक async closures का स्थिरीकरण था — ऐसे क्लोज़र जो एसिंक्रोनस हो सकते हैं। पहले एसिंक्रोनस क्लोज़र लौटाने के लिए impl Future के साथ मैन्युअल रूप से जटिल सिग्नेचर लिखने पड़ते थे। अब कंपाइलर सिंटैक्स का समर्थन करता है:

  • async || { ... } — एसिंक्रोनस क्लोज़र की सीधी घोषणा।
  • lifetime समर्थन के साथ वेरिएबल्स का स्वचालित क्लोज़र।
  • FnOnce, FnMut और Fn ट्रेट्स के साथ संगतता।

यह वेब फ्रेमवर्क (जैसे Axum या Actix) में एसिंक्रोनस इवेंट हैंडलर, मिडलवेयर और कॉलबैक फंक्शन लिखने को सरल बनाता है।



बेहतर borrow checker

Rust 1.85 में बॉरो विश्लेषक में काफी सुधार किया गया है। अब यह उन मामलों को बेहतर ढंग से समझता है जब वेरिएबल का आंशिक स्थानांतरण के बाद उपयोग किया जाता है:

  • स्ट्रक्चर के अलग-अलग फील्ड को उधार लेने की अनुमति है, भले ही अन्य फील्ड पहले ही स्थानांतरित हो चुके हों।
  • इटरेटर में नेस्टेड बॉरो की हैंडलिंग में सुधार।
  • सशर्त निर्माणों वाले कोड में झूठी चेतावनियों की संख्या कम की गई।

यह विशेष रूप से बड़े डेटा स्ट्रक्चर के साथ काम करते समय उपयोगी है जहाँ आंशिक स्वामित्व की आवश्यकता होती है।



मैक्रोज़ की नई क्षमताएँ

रिलीज़ में मैक्रो सिस्टम (proc macros) का विस्तार शामिल है:

  • स्रोत कोड में स्थितियों को संशोधित करने की क्षमता के साथ token streams का समर्थन जोड़ा गया।
  • स्ट्रक्चर और एनुम के लिए एट्रीब्यूट मैक्रोज़ का निर्माण सरल बनाया गया।
  • मैक्रोज़ के अंदर त्रुटि हैंडलिंग में सुधार — अब संदेश उपयोगकर्ता कोड में सटीक पंक्ति के संकेत के साथ प्रदर्शित होते हैं।

यह सीरियलाइज़ेशन (serde), वेब रूटिंग और कोड जनरेशन के लिए लाइब्रेरी विकास को अधिक लचीला बनाएगा।



कंपाइलर ऑप्टिमाइज़ेशन और कार्गो में सुधार

डेवलपर्स ने संकलन प्रदर्शन पर काम जारी रखा:

  • बड़े प्रोजेक्ट्स के लिए इंक्रीमेंटल कंपाइलेशन तेज़ किया गया (15% तक तेज़)।
  • cargo check में निर्भरताओं के समानांतर विश्लेषण का समर्थन जोड़ा गया।
  • cargo build में मध्यवर्ती आर्टिफैक्ट्स के कैशिंग में सुधार किया गया।

साथ ही cargo में एक नया कमांड cargo info जोड़ा गया है, जो डाउनलोड किए बिना रजिस्ट्री से पैकेज के बारे में विस्तृत जानकारी (संस्करण, निर्भरताएँ, लाइसेंस) दिखाता है।



सुरक्षा सुधार और स्थिरता

संस्करण 1.85 में असुरक्षित कोड (unsafe) की हैंडलिंग से संबंधित कई कमजोरियाँ बंद की गई हैं। std::mem::transmute और MaybeUninit के उपयोग के दौरान मेमोरी से संबंधित त्रुटियाँ ठीक की गई हैं। Rust टीम सभी उपयोगकर्ताओं को परियोजनाओं की सुरक्षा सुनिश्चित करने के लिए अपडेट करने की सलाह देती है।



कैसे अपडेट करें

अपडेट आधिकारिक इंस्टॉलर rustup के माध्यम से उपलब्ध है। नया संस्करण स्थापित करने के लिए, कमांड चलाएँ:

अनुशंसित लाइब्रेरीज़