Rust 1.69 Ukukhishwa Kolimi Lokuhlela

Ulimi lokuhlela lwenhloso evamile i-Rust 1.69, 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 le-Cargo usebenzisa ukutholwa kwezixwayiso ezingaxazululwa ngokuzenzakalelayo kanye nezincomo ezifanele zokuqalisa "ukulungisa impahla" noma "i-cargo clippy --fix". isixwayiso: ukungenisa okungasetshenzisiwe: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | sebenzisa i-std::hash::hash; | ^^^^^^^^^^^^^^^^ | = qaphela: '#[warn(unused_imports)]' ivuliwe ngokuzenzakalelayo isexwayiso: 'foo' (bin "foo") ikhiqize isixwayiso esingu-1 (sebenzisa 'ukulungisa i-cargo --bin "foo"' ukuze usebenzise isiphakamiso esingu-1)
  • Kwengezwe i-Cargo ukuze kuboniswe isincomo sokusebenzisa umyalo othi "i-cargo add" lapho uzama ukufaka umtapo wolwazi ngomyalo "wokufaka impahla".
  • Ukuze kuncishiswe isikhathi sokuhlanganisa, ulwazi lokususa iphutha kumaskripthi wokwakha lukhutshazwe ngokuzenzakalela. Uma izikripthi zokwakha zisebenza ngempumelelo, ushintsho ngeke lenze noma yimuphi umehluko obonakalayo, kodwa uma lwehluleka, ukulahlwa kwe-backtrace kuzoqukatha ulwazi oluncane. Ukuze ubuyisele ukuziphatha okudala ku-Cargo.toml engeza: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • Ingxenye entsha ye-API iyiswe esigabeni sokuzinza, okuhlanganisa izindlela nokusetshenziswa kwezimpawu kuzinzile:
    • CStr::kusuka_ngamabhayithi_kuze kube_kunul
    • core::ffi::FromBytesUntilNulError
  • Isibaluli esithi "const", esinquma ukuthi kungenzeka yini ukusisebenzisa kunoma yimuphi umongo esikhundleni sama-constants, sisetshenziswa emisebenzini:
    • I-SocketAddr::entsha
    • I-SocketAddr::ip
    • I-SocketAddr::imbobo
    • I-SocketAddr::is_ipv4
    • I-SocketAddr::is_ipv6
    • I-SocketAddrV4::entsha
    • I-SocketAddrV4::ip
    • I-SocketAddrV4::imbobo
    • I-SocketAddrV6::entsha
    • I-SocketAddrV6::ip
    • I-SocketAddrV6::imbobo
    • I-SocketAddrV6::flowinfo
    • I-SocketAddrV6::scope_id
  • Kwengezwe ikhono lokusebenzisa amafulegi eqiniso namanga kuma-agumenti wabahlanganisi.

Source: opennet.ru

Engeza amazwana