Rust 1.62 Ukukhishwa Kolimi Lokuhlela

Ulimi lokuhlela lwenhloso evamile i-Rust 1.62, 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:

  • Umphathi wephakheji “wezimpahla” unikeza umyalo othi “engeza”, okuvumela ukuthi wengeze okuncikile okusha ku-manifest ye-Cargo.toml noma ushintshe ukuncika okukhona emugqeni womyalo. Umyalo futhi ikuvumela ukuba ucacise izici ngazinye nezinguqulo, isibonelo: cargo add serde - izici derive cargo add nom@5
  • Kwengezwe amandla okusebenzisa okuthi “#[derive(Default)]” nama-enum lapho inketho ezenzakalelayo ichazwa kusetshenziswa isibaluli sokuthi “#[okuzenzakalelayo]”. #[derive(Okuzenzakalelayo)] enum Mhlawumbe {#[okuzenzakalelayo] Akukho, Okuthile(T),}
  • Kuplathifomu ye-Linux, ukuqaliswa okuhlangene nokushesha kakhudlwana kwendlela yokuvumelanisa ye-Mutex kuyasetshenziswa, ngokusekelwe ekusetshenzisweni kwama-futexes ahlinzekwa yi-Linux kernel. Ngokungafani nokuqaliswa okusetshenziswe ngaphambilini okusekelwe kulabhulali ye-pthreads, inguqulo entsha isebenzisa kuphela amabhayithi angu-5 esikhundleni sama-40 ukugcina isimo se-Mutex. Ngokufanayo, izindlela zokukhiya i-Condvar ne-RwLock zidluliselwe ku-futex.
  • Izinga lesibili losekelo lwenkundla yethagethi ye-x86_64-engaziwa-ayikho isetshenzisiwe, eklanyelwe ukukhiqiza amafayela asebenzisekayo angasebenza ngaphandle kwesistimu yokusebenza. Isibonelo, iplathifomu eqondisiwe ingasetshenziswa lapho kubhalwa izingxenye ze-kernel. Izinga lesibili losekelo libandakanya isiqinisekiso somhlangano.
  • Izinga lesithathu lokusekelwa selisetshenziswe kuzingxenyekazi ze-aarch64-pc-windows-gnullvm kanye ne-x86_64-pc-windows-gnullvm. Izinga lesithathu libandakanya ukwesekwa okuyisisekelo, kodwa ngaphandle kokuhlola okuzenzakalelayo, ukushicilelwa kwezakhiwo ezisemthethweni, nokuqinisekiswa kokwakhiwa kwekhodi.
  • Ingxenye entsha ye-API iyiswe esigabeni sokuzinza, okuhlanganisa izindlela nokusetshenziswa kwezimpawu kuzinzile:
    • bool::bese_ezinye
    • f32::ingqikithi_cmp
    • f64::ingqikithi_cmp
    • Stdin::imigqa
    • windows::CommandExt::raw_arg
    • impl inani elizenzakalelayo le-AssertUnwindSafe
    • Kusuka > kwe-Rc
    • Kusuka > okwe-Arc<[u8]>
    • I-FusedIterator ye-EncodeWide

    Source: opennet.ru

Engeza amazwana