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
- Umphathi wePakethe yeCargo wongeze izixhobo zokusebenza nezinye iirejista zeepakethe ezinokubakho kunye ne-crates.io yobhaliso loluntu. Umzekelo, abaphuhlisi bezicelo zobunini ngoku banokusebenzisa ubhaliso lwabucala, olunokusetyenziswa xa kudweliswa ukuxhomekeka kwiCargo.toml, kwaye basebenzise imodeli yoguqulelo efana ne-crates.io kwiimveliso zabo, kunye nokuxhomekeka kokuxhomekeka kuwo omabini amakhreyithi. io nakwirejista yakho.
Ukongeza iirejista zangaphandle kwi-.cargo/config (ibekwe kwi $HOME okanye kulawulo lwempahla)
kubonelelwe icandelo "[ababhalisi]", kunye nokusebenzisa ubhaliso lwangaphandle, ukhetho "lobhaliso" luvele kwinkcazo yokuxhomekeka ngakunye kwiCargo.toml. Ukuqhagamshela kubhaliso olongezelelweyo, beka ngokulula uphawu lwesiqinisekiso kwi ~/.cargo/iinkcukacha zefayile kwaye usebenzise umyalelo.
"impahla yokungena --registry=my-registry" kunye nokupapasha ipakethe -
"ushicilelo lwempahla -registry=my-registry"; - Kongezwe inkxaso epheleleyo yokusebenzisa "?" umsebenzisi. kwiimvavanyo
iigqirha , ikuvumela ukuba usebenzise ikhowudi yomzekelo kuxwebhu njengovavanyo. Umqhubi wangaphambili
"?" ingasetyenziselwa ukusingatha iimpazamo ngexesha lokwenziwa kovavanyo kuphela kubukho be "fn main()" umsebenzi okanye kwi "#[test]" imisebenzi; - Kwiimpawu zesiko ezichazwe kusetyenziswa iinkqubo zemacros
ikhuselekile ukukwazi ukusebenzisa iiseti ezingafanelekanga (“#[attr($tokens)]”, “#[attr[$tokens]] kunye ne#[attr{$tokens}]”). Ngaphambili, iziqalelo bezinokuchazwa kuphela kumthi/kwimo ephinda-phindayo kusetyenziswa umtya woqobo, umzekelo “#[foo(bar, baz(quux, foo = “bar”))]”, kodwa ngoku kuyenzeka ukusebenzisa ubalo (' #[uluhlu(0. .10)]') kunye nolwakhiwo olunje “#[bopheleleke(T: MyTrait)]”; - Iintlobo ezizinzisiweyo (uphawu)
ZamaUkusuka иZamaInto , ivumela uhlobo loguqulelo kunye nokuphathwa kwemposiso. Umzekelo, iindlela ezifana ne_be_bytes ezineentlobo ezipheleleyo zisebenzisa uluhlu njengegalelo, kodwa idatha ihlala iza ngohlobo lweSilayidi, kwaye ukuguqula phakathi koluhlu kunye nezilayi kuyingxaki ukwenza ngesandla. Ngoncedo lweempawu ezintsha, umsebenzi ochaziweyo unokwenziwa kwi-fly ngokufowunela .try_into(), umzekelo, “let num = u32::from_be_bytes(slice.try_into()?)”. Kuguqulo oluhlala luphumelela (umzekelo, ukusuka kuhlobo u8 ukuya ku-u32), uhlobo lwempazamo longeziweAyinasiphako , ukuvumela ukusetyenziswa ekuhleni
I-TryFrom kulo lonke usetyenziso olukhoyo lwe-"From"; - Umsebenzi urhoxisiwe
CommandExt::phambi_exec , evumele isiphatho sibulawe phambi kokuba kuqhutywe u-exec, owenziwe kumxholo wenkqubo yomntwana efowulwe emva kwefolokhwe() ifowuni. Phantsi kweemeko ezinjalo, ezinye izibonelelo zenkqubo yomzali, njengezichazi zefayile kunye neendawo zememori ezimephu, zinokuphinda-phindwa, ezinokuthi zikhokelele ekuziphatheni okungachazwanga kunye nokusebenza ngendlela engalunganga kwamathala eencwadi.
Kuyacetyiswa ukuba usebenzise umsebenzi ongakhuselekanga endaweni ye-pre_execCommandExt::pre_exec . - Iintlobo ezizinzisiweyo ezisayiniweyo nezingatyikitywanga zeatom epheleleyo ukusuka kubukhulu obusuka kwisi-8 ukuya kumasuntswana angama-64 (umzekelo,
AtomicU8 ), kunye neentlobo ezisayiniweyoNonZeroI [8|16|32|64|128]. - Inxalenye entsha ye-API iye yasiwa kudidi oluzinzileyo, kuquka Nayiphi na::type_id, Imposiso::type_id, slice::sort_by_cached_key, str::escape_*, str::split_ascii_whitespace, Instant::checked_[engeza|sub ] kunye neendlela ze-SystemTime zinzinzisiwe ::checked_[yongeza|sub]. I-iter::from_fn kunye ne-iter::imisebenzi yokulandela izinzile;
- Kuzo zonke iindidi ezipheleleyo, i-checked_pow, saturating_pow, wrapping_pow kunye ne-overflowing_pow iindlela ziyaphunyezwa;
- Yongezwe amandla okwenza ulungelelwaniso kwinqanaba lokudibanisa ngokucacisa "-C linker-plugin-lto" ukhetho lokwakha.
umthombo: opennet.ru