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 manje uhlonza izexwayiso ezingaxazululwa ngokuzenzakalelayo futhi utusa ukusebenzisa okuthi "cargo fix" noma "cargo clippy --fix" ngokufanele. 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 impahla --bin "foo"' ukuze usebenzise isiphakamiso esingu-1)
  • I-Cargo manje ibonisa isincomo sokusebenzisa umyalo othi "cargo add" lapho uzama ukufaka umtapo wolwazi usebenzisa umyalo "wokufaka impahla".
  • Ukuze kuncishiswe izikhathi zokuhlanganisa, ulwazi lokususa iphutha kumaskripthi wokwakha lukhutshazwe ngokuzenzakalela. Lolu shintsho aluholeli kunoma yimuphi umehluko obonakalayo lapho izikripthi zokwakha zisebenza ngempumelelo, kodwa uma kwenzeka ukwehluleka, ukulahlwa kwe-backtrace kuzoqukatha ulwazi oluncane. Ukuze ubuyele ekuziphatheni kwangaphambilini, engeza okulandelayo ku-Cargo.toml: [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