Rust 1.46 Ukukhishwa Kolimi Lokuhlela

eshicilelwe ukukhishwa okungu-1.46 kolimi lokuhlela uhlelo Rust, eyasungulwa iphrojekthi ye-Mozilla. Ulimi lugxile ekuphepheni kwenkumbulo, luhlinzeka ngokuphathwa kwenkumbulo okuzenzakalelayo, futhi luhlinzeka ngamathuluzi okuthola ukufana kwemisebenzi ephezulu ngaphandle kokusebenzisa umqoqi kadoti kanye isikhathi sokuqalisa.

Ukuphathwa kwenkumbulo okuzenzakalelayo ka-Rust kuqeda amaphutha lapho kushintshwa izikhombi futhi kuvikela ezinkingeni ezivela ekukhohlisweni kwenkumbulo yezinga eliphansi, njengokufinyelela endaweni yenkumbulo ngemva kokuba ikhululiwe, i-null pointer dereferences, i-buffer overruns, njll. Umphathi wephakheji uyathuthukiswa ukuze asabalalise imitapo yolwazi, aqinisekise ukuhlanganisa nokuphatha ukuncika ngephrojekthi. cargo, okukuvumela ukuthi uthole amalabhulali adingekayo ohlelweni ngokuchofoza okukodwa. Indawo yokugcina isekelwa ukuze isingathe amalabhulali amakhreyithi.io.

main emisha:

  • Amandla emisebenzi echazwe kusetshenziswa isisho esithi “const fn” anwetshiwe, angabizwa hhayi nje njengemisebenzi evamile, kodwa futhi asetshenziswe kunoma yimuphi umongo esikhundleni sokuhlanganisa. Le misebenzi ibalwa ngesikhathi sokuhlanganisa, hhayi ngesikhathi sokusebenza, ngakho ingaphansi kwemikhawulo ethile, njengokukwazi ukufunda kuphela kuma-constants.

    Ukukhishwa okusha kususa ukuvinjelwa kokusebenzisa ama-opharetha we-Boolean (“&&” kanye “||”) emisebenzini enjalo, futhi kuvumela ukusetshenziswa kokuthi “uma”, “uma kuvunyelwa”, “fanisa” ukwakha,
    "ngenkathi", "ngenkathi let" kanye "loop", futhi inikeza ikhono lokuguqulela izingcezu (ucezu, amalungu afanayo aguqukayo) usebenzisa isisho esithi "&[T]". Ukusetshenziswa kwalezi zici emisebenzini ye-"const fn" kukuvumela ukuthi uhambise imisebenzi ethile edinga insiza esigabeni sokuhlanganisa. Isibonelo, ukuqaliswa kwe-"const-sha1" kwenza kube nokwenzeka ukubala ama-SHA-1 hashes ngesikhathi sokuhlanganisa, okuholela ekusheshiseni ukubopha kwe-WinRT ku-Rust cishe izikhathi ezingu-40.

  • Ukuze wenze imilayezo yephutha ibe nolwazi oluthe xaxa, usekelo lwesibaluli se-“#[track_caller]” luzinzile, oluwusizo emisebenzini efana nokuqaqa, okungase kubangele ukwethuka uma izinhlobo zisetshenziswa ngokungalungile. Isibaluli esishiwo sizosetshenziswa isibambi sokwethuka ukuze siphrinte indawo yofonayo kumlayezo wephutha.
  • Isibaluli esithi “const”, esinquma ukuthi kungenzeka yini ukusisebenzisa kunoma imuphi umongo esikhundleni sama-constants, sisetshenziswa kundlela ethi std::mem::forget.
  • Ingxenye entsha ye-API iyiswe esigabeni esizinzile, okuhlanganisa Inketho Ezinzile::zip kanye ne-vec::Drain::as_slice.
  • Kumphathi wephakheji i-Cargo kwengezwe ukusekela okuguquguqukayo kwemvelo okusha okusethiwe lapho kuhlanganiswa iphakheji: CARGO_BIN_NAME (igama lomphumela wefayela elisebenzisekayo), CARGO_CRATE_NAME (igama lephakheji), CARGO_PKG_LICENSE (ilayisensi ecaciswe ku-manifest), CARGO_PKG_LICENSE_FILE (indlela eya kufayela lelayisense).

Source: opennet.ru

Engeza amazwana