Ukuphathwa kwenkumbulo okuzenzakalelayo kwe-Rust kukhulula umthuthukisi ekukhohlisweni kwezikhombisi futhi kuvikele ezinkingeni ezivela ekukhohlisweni kwenkumbulo yezinga eliphansi, njengokufinyelela kwememori yangemuva kwamahhala, izinkomba ezingenalutho, ukugcwala kwebhafa, nokunye okunjalo. Umphathi wephakheji uyathuthukiswa ukuze asabalalise imitapo yolwazi, aqinisekise ukuhlanganisa nokuphatha ukuncika ngephrojekthi.
main
- Ku-rustc compiler
enikeziwe ukwesekwa kokwenza kahle okusekelwe emiphumeleni yokuhlonza ikhodi (i-PGO, Ukuthuthukiswa Okuqondiswa Iphrofayela),
okukuvumela ukuthi ukhiqize ikhodi elunge kakhulu esekelwe ekuhlaziyweni kwezibalo eziqoqwe phakathi nokwenziwa kohlelo. Ukuze ukhiqize iphrofayili, ifulegi elithi “-C profile-generate” liyanikezwa, kanye nokusebenzisa iphrofayili ngesikhathi sokuhlanganiswa - “-C profile-use” (ekuqaleni, uhlelo luhlanganiswa nefulegi lokuqala, luqhubeke, futhi ngemva kokudala iphrofayili, iphinde ihlanganiswe nefulegi lesibili); - Lapho ukhipha umyalo othi “cargo run”, okulula ukuwusebenzisela ukuhlola ngokushesha izinhlelo zokusebenza zekhonsoli, ikhono lokukhetha ngokuzenzakalelayo ifayela elisebenzisekayo elizosebenza liye lengeziwe uma kunamafayela amaningana asebenzisekayo kuphakheji. Ifayela elizenzakalelayo elizosetshenziswa linqunywa ngokuqondisa okuzenzakalelayo esigabeni [sephakheji] esinamapharamitha ephakheji, okukuvumela ukuba ugweme ukucacisa ngokusobala igama lefayela ngefulegi elithi “-bin” isikhathi ngasinye lapho usebenzisa “i-cargo run”;
- Umyalo “womthengisi wezimpahla”, owawunikezwe ngaphambilini njenge
iphakheji ehlukene . Umyalo ukuvumela ukuthi uhlele umsebenzi ngekhophi yendawo yokuncika - ngemva kokwenza “umthengisi wezimpahla”, wonke amakhodi omthombo wokuncika kwephrojekthi alandwa kusuka ku-crates.io kuya kunkomba yendawo, engase isetshenziselwe umsebenzi ngaphandle kokufinyelela amakhreyithi. io (ngemuva kokwenza umyalo, iseluleko sokushintsha ukumisa siboniswa ukusebenzisa uhla lwemibhalo lokwakha). Lesi sici sesivele sisetshenziselwa ukuhlela ukulethwa kwe-rustc compiler ngokupakishwa kwakho konke okuncikile kungobo yomlando eyodwa ngokukhululwa; - Manje sekungenzeka ukuthi udale izixhumanisi zezinketho ze-enum usebenzisa iziteketiso zohlobo (isibonelo, emzimbeni womsebenzi othi “fn increment_or_zero(x: ByteOption) ungacacisa “ByteOption::None => 0”), thayipha izibalo zokwakha (‹ MyType‹.. ››::option => N) noma Uzifinyelela (kumabhulokhi c & ngokwakho ungacacisa “Self::Quarter => 25”);
- Kwengezwe ikhono lokudala ama-constants angaqanjwanga kumamakhro. Esikhundleni sokuchaza igama le-elementi kokuthi "const", manje ungasebenzisa uhlamvu "_" ukuze ukhethe ngokuguqukayo isihlonzi esingaphindi, ugweme ukungqubuzana kwamagama lapho ubiza i-macro futhi;
- Kwengezwe amandla okusebenzisa isibaluli se-"#[repr(align(N))" nama-enum kusetshenziswa i-syntax efana nokuchaza ukwakheka kwe-AlignN‹T› nokuqondanisa bese kusetshenziswa i-AlignN‹MyEnum›;
- Ingxenye entsha ye-API iyiswe esigabeni esizinzile, okuhlanganisa i-BufReader::buffer, BufWriter::buffer, kanye
Iseli::kusuka_ku-mut,
Iseli::njengesiqephu_samaseli,
I-DoubleEndedIterator::nth_back,
Inketho::xor
{i,u}{8,16,64,128,size}::reverse_bits, Ukugoqa::reverse_bits kanye
ucezu::khophi_ngaphakathi.
Ukwengeza, kungaphawulwa
Source: opennet.ru