Ulimi lokuhlela lwenhloso evamile i-Rust 1.63, olwasungulwa iphrojekthi ye-Mozilla kodwa manje oluthuthukiswe ngaphansi kwenhlangano ezimele engenzi nzuzo i-Rust Foundation, lukhululiwe. Ulimi lugxile ekuphepheni kwenkumbulo futhi luhlinzeka ngezindlela zokuzuza ukufana kwemisebenzi ephezulu kuyilapho ugwema ukusetshenziswa komqoqi kadoti nesikhathi sokusebenza (isikhathi sokusebenza sincishiselwa ekuqaliseni okuyisisekelo nasekunakekeleni umtapo wolwazi ojwayelekile).
Izindlela zokuphatha inkumbulo kaRust zisindisa unjiniyela emaphutheni lapho eshintsha izikhombi futhi avikele ezinkingeni eziphakama ngenxa yokuphatha inkumbulo esezingeni eliphansi, njengokufinyelela indawo yenkumbulo ngemva kokuba ikhululiwe, ukuhoxisa izikhombi ezingenalutho, ukugcwala kwebhafa, njll. Ukuze kusatshalaliswe imitapo yolwazi, ukuhlinzeka ngokwakha nokuphatha okuncikile, iphrojekthi ithuthukisa umphathi wephakheji ye-Cargo. Inqolobane ye-crates.io isekelwe ekusingatheni imitapo yolwazi.
Ukuphepha kwenkumbulo kunikezwa ku-Rust ngesikhathi sokuhlanganiswa ngokuhlolwa kwereferensi, ukulandelela ubunikazi bento, ukulandelela isikhathi sokuphila kwento (izikophu), nokuhlola ukulunga kokufinyelela inkumbulo ngesikhathi sokwenziwa kwekhodi. I-Rust iphinde inikeze isivikelo ekuchichimeni okuphelele, idinga ukuqaliswa okuyisibopho kwamanani ahlukahlukene ngaphambi kokusetshenziswa, iphatha amaphutha kangcono kulabhulali evamile, isebenzisa umqondo wezithenjwa ezingaguquleki nokuguquguqukayo ngokuzenzakalelayo, inikeza ukuthayipha okuqinile okuqinile ukuze kuncishiswe amaphutha anengqondo.
Okuqanjiwe okuyinhloko:
- Kwengezwe i-std::thread::scope API, ekuvumela ukuthi udale imicu enescoped. Ngokungafani nochungechunge olwalutholakala ngaphambilini, i-std::thread::scope API entsha ivumela ukudluliswa kwedatha engaguquki ebolekayo, kuyilapho imicu edalwe kusetshenziswa i-std::thread::spawn API yakudala ibidingeka ukuthi ibe ngumnikazi wawo wonke ama-agumenti adlulisiwe futhi awakwazanga ukuwathola. okuguquguqukayo okubolekiwe. I-std::thread::scope API iqinisekisa ukuthi noma yimiphi imicu edaliwe iyanqanyulwa ngaphambi kokuba idatha ibuyiswe, ihlinzeka ngokuvikeleka okwanele kwendlela yokuboleka.
- Izinhlobo ezintsha zokugoqa zezichazi zefayela zihlongozwa - I-BorrowedFd ne-OwnedFd, ehlinzeka ngokuboleka nobunikazi. Izinhlobo zimakwe ngokuthi "#[repr(transparent)]", ezivumela ukuthi zisetshenziswe ngokuqondile ekubopheni i-C kwangaphandle ngendlela eqaphela ubunikazi.
- Kuhlinzekwe ikhono lokushayela i-Condvar::new, Mutex::new ne-RwLock::entsha kumongo wezinto ezingaguquki ukuze kudalwe amanani embulunga yonke amile we-Mutex, i-RwLock ne-Condvar ngaphandle kokusebenzisa amaphakheji lazy_static.
- Ngemisebenzi efana ne-fn foo (inani: T, f: impl Copy) i-syntax efana ne-“foo::” ivunyelwe (32, 3)”, okubonisa ngokucacile uhlobo lwejenerikhi.
- Ukushintshela ekusebenziseni indlela ye-NLL (Non-Lexical Lifetimes) ukuze kukhonjwe izinkinga ngezinto eziguquguqukayo zokuboleka sekuqediwe. I-NLL ibheka ezingeni lesethi yezikhombisi kugrafu yokugeleza kokubulawa, okwenza kube nokwenzeka ukukhulisa ikhwalithi yesheke lokuguquguquka kokuboleka (isheke lokuboleka) futhi ivumele ukwenziwa kwezinye izinhlobo zekhodi elungile, ukusetshenziswa okuholele ephutheni ngaphambilini. Ukusekela indlela endala eyayisebenzisa ukubophezela kweleveli yokuphila konke manje sekususwe ngokuphelele ku-rustc, futhi ukusetshenziswa kwe-NLL entsha sekuqaliswe yonke indawo.
- Ingxenye entsha ye-API iyiswe esigabeni sokuzinza, okuhlanganisa izindlela nokusetshenziswa kwezimpawu kuzinzile:
- uhlu::kusuka_fn
- Ibhokisi::ku-pin
- I-BinaryHeap::try_reserve
- I-BinaryHeap::try_reserve_exact
- OsString::try_reserve
- OsString::try_reserve_exact
- PathBuf::try_reserve
- PathBuf::try_reserve_exact
- Indlela::zama_ikhona
- Ref::imephu_yokuhlunga
- RefMut::filtha_map
- NonNnull::<[T]>::len
- Okunomnikazi::clone_into
- Ipv6Addr::to_ipv4_mapped
- unix::io::AsFd
- unix::io::BorrowedFd<'fd>
- unix::io::OwnedFd
- windows::io::AsHandle
- windows::io::BorrowedHandle
Source: opennet.ru
