Ulawulo lwenkumbulo oluzenzekelayo lwe-Rust lukhulula umphuhlisi ekusetyenzisweni kwesalathisi kwaye ikhusela kwiingxaki ezivela kulawulo lwenkumbulo olukwinqanaba elisezantsi, elifana nofikelelo lwememori yasemva kwe-free, izalathisi ezingenanto, ukugqithiswa kwe-buffer, nokunye okunjalo. Umphathi wephakheji uyaphuhliswa ukuze asasaze amathala eencwadi, aqinisekise ukudibanisa kunye nokulawula ukuxhomekeka kwiprojekthi.
Siseko
- Kwi-rustc compiler
ikhuselekile inkxaso yokuphucula ngokusekwe kwiziphumo zeprofayili yekhowudi (i-PGO, uPhuculo oluKhokelwe kwiProfayili),
ikuvumela ukuba uvelise ikhowudi ephezulu ngokusekwe kuhlalutyo lweenkcukacha-manani eziqokelelwe ngexesha lokwenziwa kwenkqubo. Ukuvelisa iprofayile, iflegi "-C profile-generate" inikezelwe, kunye nokusebenzisa iprofayili ngexesha lendibano - "-C profile-use-use" (ekuqaleni, inkqubo idityaniswa neflegi yokuqala, ijikeleza, kwaye emva kokudala iphrofayili, iphinda idityaniswe kunye neflegi yesibini); - Xa uphumeza umyalelo othi "cargo run", okulungele ukusetyenziselwa ukuvavanya ngokukhawuleza izicelo zekhonsoli, ukukwazi ukukhetha ngokuzenzekelayo ifayile ephunyeziweyo ukuba iqhutywe yongezwe ukuba kukho iifayile ezininzi eziphunyezwayo kwiphakheji. Ifayile engagqibekanga ekufuneka iphunyezwe imiselwa ngomyalelo wokwenziwa komsebenzi ongagqibekanga kwi [pakethe] icandelo elineeparamitha zepakethe, ekuvumela ukuba uphephe ukukhankanya ngokucacileyo igama lefayile nge “-bin” iflegi qho xa uqhuba “impahla baleka”;
- Umyalelo "womthengisi wempahla", owawunikelwe ngaphambili njenge
iphakheji eyahlukileyo . Umyalelo ikuvumela ukuba uququzelele umsebenzi kunye nekopi yendawo yokuxhomekeka - emva kokwenza "umthengisi wempahla", zonke iikhowudi zomthombo wokuxhomekeka kweprojekthi zikhutshelwa kwi-crates.io kuluhlu lwendawo, olunokuthi lusetyenziselwe umsebenzi ngaphandle kokufikelela kwiikhreyithi. io (emva kokuphumeza umyalelo, ingcebiso yokutshintsha uqwalaselo iboniswa ukusebenzisa ulawulo lolwakhiwo). Olu phawu sele lusetyenziselwa ukuququzelela ukuhanjiswa kwe-rustc compiler kunye nokupakishwa kwazo zonke izinto ezixhomekeke kwi-archive enye kunye nokukhululwa; - Ngoku kuyenzeka ukwenza amakhonkco kwiinketho ze-enum usebenzisa iziteketiso zodidi (umzekelo, kumzimba womsebenzi "fn increment_or_zero(x: ByteOption) ungakhankanya "ByteOption::Akukho nanye => 0"), chwetheza ubalo lwabakha (‹ MyType‹.. ››::option => N) okanye Ufikelelo ngokwakho (kwiibhloko c & ngokwakho ungachaza “Self::Quarter => 25”);
- Yongezwe amandla okwenza ii-constants ezingachazwanga ngamagama kwiimacros. Endaweni yokuchaza igama lesixhobo ku-"const", ungasebenzisa ngoku "_" uphawu ukukhetha ngokuguquguqukayo isichongi esingaphindi, ukuthintela ukungqubana kwegama xa ubiza i-macro kwakhona;
- Kongezwe ukukwazi ukusebenzisa "#[repr(align(N))" uphawu loyelelwano ngee-enums kusetyenziswa isivakalisi esifana nokuchaza ulungelelwaniso lwe-AlignN‹T› isakhiwo ngolungelelwaniso kwaye emva koko usebenzisa u-AlignN‹MyEnum›;
- Inxalenye entsha ye-API iye yasiwa kudidi oluzinzileyo, kuquka iBufReader::buffer, BufWriter::buffer, kunye
Iseli::isuka_emut,
Iseli::njengeqhekeza_leeseli,
DoubleEndedIterator::nth_back,
Khetha::xor
{i,u}{8,16,64,128,ubungakanani}::umva_amasuntswana, Ukusonga::umva_amasuntswana kunye
isilayi::ikopi_ngaphakathi.
Ukongezelela, kunokuqatshelwa
umthombo: opennet.ru