Rust 1.69 प्रोग्रामिंग भाषा प्रकाशन

Mozilla प्रकल्पाद्वारे स्थापित, परंतु आता स्वतंत्र ना-नफा संस्था Rust Foundation च्या संरक्षणाखाली विकसित केलेली Rust 1.69 सामान्य-उद्देशीय प्रोग्रामिंग भाषा प्रकाशित करण्यात आली आहे. भाषा मेमरी सुरक्षिततेवर लक्ष केंद्रित करते आणि कचरा गोळा करणारे आणि रनटाइमचा वापर टाळून उच्च जॉब समांतरता प्राप्त करण्याचे साधन प्रदान करते (रनटाइम मूलभूत प्रारंभ आणि मानक लायब्ररीची देखभाल करण्यासाठी कमी केला जातो).

रस्टच्या मेमरी हाताळण्याच्या पद्धती पॉइंटर हाताळताना विकासकाला त्रुटींपासून वाचवतात आणि निम्न-स्तरीय मेमरी हाताळणीमुळे उद्भवणाऱ्या समस्यांपासून संरक्षण करतात, जसे की मेमरी एरिया मोकळा झाल्यानंतर त्यात प्रवेश करणे, नल पॉइंटर्सचा संदर्भ घेणे, बफर ओव्हररन्स इ. लायब्ररी वितरीत करण्यासाठी, बिल्ड प्रदान करण्यासाठी आणि अवलंबित्व व्यवस्थापित करण्यासाठी, प्रकल्प कार्गो पॅकेज व्यवस्थापक विकसित करतो. crates.io रेपॉजिटरी होस्टिंग लायब्ररीसाठी समर्थित आहे.

संदर्भ तपासणी, ऑब्जेक्टच्या मालकीचा मागोवा ठेवणे, ऑब्जेक्ट लाइफटाइम (स्कोप) चा मागोवा ठेवणे आणि कोड एक्झिक्यूशन दरम्यान मेमरी ऍक्सेसच्या अचूकतेचे मूल्यांकन करणे याद्वारे मेमरी सुरक्षितता रस्टमध्ये कंपाइल वेळी प्रदान केली जाते. रस्ट पूर्णांक ओव्हरफ्लोपासून संरक्षण देखील प्रदान करते, वापरण्यापूर्वी व्हेरिएबल व्हॅल्यूजचे अनिवार्य आरंभ आवश्यक आहे, मानक लायब्ररीमध्ये त्रुटी चांगल्या प्रकारे हाताळते, डिफॉल्टनुसार अपरिवर्तनीय संदर्भ आणि व्हेरिएबल्सची संकल्पना लागू करते, तार्किक त्रुटी कमी करण्यासाठी मजबूत स्थिर टायपिंग ऑफर करते.

मुख्य नवकल्पना:

  • В пакетном менеджере Cargo реализовано определение предупреждений, которые могут быть автоматически устранены, и вывод соответствующих рекомендаций по запуску «cargo fix» или «cargo clippy —fix». warning: unused import: ‘std::hash::Hash’ —> src/main.rs:1:5 | 1 | use std::hash::Hash; | ^^^^^^^^^^^^^^^ | = note: ‘#[warn(unused_imports)]’ on by default warning: ‘foo’ (bin «foo») generated 1 warning (run ‘cargo fix —bin «foo»‘ to apply 1 suggestion)
  • В Cargo добавлен вывод рекомендации по использованию команды «cargo add» при попытке установки библиотеки командой «cargo install».
  • Для сокращения времени компиляции по умолчанию прекращено включение отладочной информации в сборочных скриптах. При успешном выполнении сборочных скриптов изменение не приводит к каким-то видимым отличиям, но в случае сбоев дамп с обратной трассировкой будет содержать меньше информации. Для возвращения старого поведения в Cargo.toml следует добавить: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • API चा एक नवीन भाग स्थिर श्रेणीमध्ये हलविला गेला आहे, ज्यामध्ये पद्धती आणि गुणधर्मांची अंमलबजावणी स्थिर केली गेली आहे:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • "const" विशेषता, जी स्थिरांकांऐवजी कोणत्याही संदर्भात वापरण्याची शक्यता निर्धारित करते, फंक्शन्समध्ये वापरली जाते:
    • SocketAddr::new
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::new
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6::new
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Добавлена возможность использования флагов true и false в аргументах компилятора.

स्त्रोत: opennet.ru

एक टिप्पणी जोडा