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.
main
- 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