Rust 1.68 Ukukhishwa Kolimi Lokuhlela

Ulimi lokuhlela lwenhloso evamile i-Rust 1.68, 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 kanye nenqolobane ye-crates.io bakumisile ukusekelwa kwe-Sparse protocol, echaza indlela entsha yokusebenza ngenkomba ebonisa izinguqulo ezitholakalayo zawo wonke amaphakheji akhona endaweni yokugcina. Iphrothokholi entsha ikuvumela ukuthi ukhuphule kakhulu isivinini sokusebenza nge-crates.io futhi uxazulule izinkinga zokukala ngokukhula okwengeziwe kwenani lamaphakheji endaweni yokugcina.

    Ukuze unciphise ukubambezeleka okubangelwa ukulanda inkomba egcwele, i-Sparse esikhundleni sokufinyelela inkomba usebenzisa i-Git ihilela ukulanda okuqondile nge-HTTPS kuphela idatha yenkomba edingekayo, ehlanganisa ukuncika kwephrojekthi ethile. Isevisi entsha, index.crates.io, isetshenziselwa ukunikeza idatha yenkomba. Ngokuzenzakalelayo, iphrothokholi entsha ihlelelwe ukusetshenziswa egatsheni le-Rust 1.70, futhi ngaphambi kwalokho, ukuze uyinike amandla, ungasetha ukuguquguquka kwemvelo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" noma wengeze ipharamitha ethi 'protocol =' ku-"[registries. crates-io]" ingxenye yefayela elithi .cargo/config.toml elithi 'sparse'.

  • Kwengezwe i-"pin!" macro, ekuvumela ukuthi udale ukwakheka kwe-Pin<&mut T> kusuka kunkulumo ethi "T" ngokuphina kwendawo yesimo sayo (ngokungafani neBhokisi::phini, ayibeki inkumbulo enqwabeni, kodwa iyabopha ezingeni lesitaki).
  • Isibambi sephutha sokwabiwa kwememori sihlongoziwe, sisetshenziswe uma kusetshenziswa iphakheji ye-alloc evamile. Izinhlelo zokusebenza ezivumela i-alloc kuphela (ngaphandle kwe-std) manje sezizobiza isibambi sokuthi β€œukwethuka!” lapho ukwabiwa kwememori kwehluleka, okungase kubanjwe kusetshenziswa okuthi β€œ#[panic_handler]”. Izinhlelo ezisebenzisa ilabhulali ye-std zizoqhubeka nokuphrinta ulwazi lwephutha ku-stderr nokuphahlazeka.
  • Ingxenye entsha ye-API iyiswe esigabeni sokuzinza, okuhlanganisa izindlela nokusetshenziswa kwezimpawu kuzinzile:
    • {core,std}::pin::pin!
    • impl Kusuka okwe-{f32,f64}
    • std::path::MAIN_SEPARATOR_STR
    • impl DerefMut ye-PathBuf
  • Isibaluli esithi β€œconst”, esinquma ukuthi kungenzeka yini ukusisebenzisa kunoma imuphi umongo esikhundleni sama-constants, sisetshenziswa ku-VecDeque::umsebenzi omusha.
  • Ukuze usebenze endaweni yesikhulumi se-Android, okungenani i-NDK r25 (API 19) iyadingeka manje, i.e. Ubuncane benguqulo ye-Android esekelwe inyuselwe ku-4.4 (KitKat).
  • Izinga lesithathu lokusekelwa selisetshenziswe kunkundla ye-Sony PlayStation Vita (armv7-sony-vita-newlibeabihf). Ileveli yesithathu ibandakanya ukwesekwa okuyisisekelo, kodwa ngaphandle kokuhlola okuzenzakalelayo, ukushicilela izakhiwo ezisemthethweni, noma ukuhlola ukuthi ikhodi ingakhiwa yini.

Source: opennet.ru

Engeza amazwana