Ukukhutshwa kolwimi lwenkqubo ye-Rust 1.69, eyasekwa yiprojekthi ye-Mozilla, kodwa ngoku iphuhliswe phantsi kombutho ozimeleyo ongenzi nzuzo i-Rust Foundation, ipapashiwe. Ulwimi lugxininise ekukhuselweni kwememori kwaye lubonelela ngeendlela zokufikelela kwi-parallelism ephezulu yemisebenzi ngelixa ugwema ukusetyenziswa komqokeleli wenkunkuma kunye nexesha lokuqhuba (ixesha lokuqhuba liyancitshiswa ekuqaliseni okusisiseko kunye nokugcinwa kwelayibrari esemgangathweni).
Iindlela zokuphatha imemori ye-Rust zigcina umphuhlisi kwiimpazamo xa ulawula izikhombisi kwaye ukhusele kwiingxaki ezivela ngenxa yokuphathwa kwememori ekwinqanaba elisezantsi, njengokufikelela kwindawo yememori emva kokuba ikhululiwe, ukususa ireferensi yezalathisi ezingenanto, ukugqithiswa kwe-buffer, njl. Ukusasaza amathala eencwadi, ukubonelela ngokwakha kunye nokulawula ukuxhomekeka, iprojekthi iphuhlisa umphathi wephakheji yeCargo. Uvimba we-crates.io uyaxhaswa kukusingatha amathala eencwadi.
Ukhuseleko lwenkumbulo lubonelelwa kwiRust ngexesha lokudibanisa ngokujongwa kwereferensi, ukugcina umkhondo wobunini bento, ukugcina umkhondo wobomi bento (i-scopes), kunye nokuvavanya ukuchaneka kokufikelela kwimemori ngexesha lokwenziwa kwekhowudi. Umhlwa ukwabonelela ngokhuseleko ngokuchasene nokuphuphuma kwenani elipheleleyo, kufuna ukuqaliswa okunyanzelekileyo kwamaxabiso aguquguqukayo ngaphambi kokusetyenziswa, iphatha iimpazamo ngcono kwithala leencwadi elisemgangathweni, isebenzisa ingqikelelo yeembekiselo ezingenakuguquguquka kunye nezinto eziguquguqukayo ngokungagqibekanga, ibonelela ngochwethezo olomeleleyo ukuze kuncitshiswe iimpazamo ezinengqiqo.
Iinguqulelo eziphambili:
- Umphathi wepakethe yeCargo uphumeza ukufunyanwa kwezilumkiso ezinokusonjululwa ngokuzenzekelayo, kunye nemveliso yeengcebiso ezifanelekileyo zokuqhuba "ukulungiswa kwempahla" okanye "i-cargo clippy -fix". isilumkiso: ukuthathwa ngaphandle okungasetyenziswanga: 'std::hash::Hash' —> src/main.rs:1:5 | 1 | sebenzisa std::hash::Hash; | ^^^^^^^^^^^^^^^^ | = qaphela: '#[warn(unused_imports)]' isilumkiso ngokungagqibekanga: 'foo' (umgqomo "foo") uvelise isilumkiso esi-1 (sebenzisa 'ulungiso lwempahla -umgqomo "foo"' ukusebenzisa ingcebiso enye)
- I-Cargo yongeze imveliso yesiphakamiso sokusebenzisa umyalelo "wokongeza umthwalo" xa uzama ukufaka ithala leencwadi kunye nomyalelo "wokufakwa kwempahla".
- Ukunciphisa ixesha lokuhlanganisa, ukufakwa kolwazi lokulungiswa kweempazamo kwizikripthi zokwakha kuye kwamiswa ngokungagqibekanga. Ukuba izikripthi zokwakha zisebenza ngempumelelo, utshintsho aluyi kubangela naluphi na ulwahlulo olubonakalayo, kodwa ukuba ukusilela kwenzeka, ukulahlwa kwe-traceback kuya kuba nolwazi oluncinci. Ukubuyisela ukuziphatha kwakudala kwiCargo.toml kufuneka udibanise: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
- Inxalenye entsha ye-API iye yasiwa kudidi oluzinzileyo, kubandakanywa iindlela kunye nokuphunyezwa kweempawu ziye zazinziswa:
- CStr::ukusuka_ngamabhayithi_kude_nul
- undoqo::ffi::FromBytesUntilNulError
- Uphawu "const", olumisela ukuba kunokwenzeka ukulisebenzisa kuyo nayiphi na imeko endaweni yesigxina, lisetyenziswa kwimisebenzi:
- SocketAddr::entsha
- SocketAddr::ip
- I-SocketAddr::izibuko
- SocketAddr::is_ipv4
- SocketAddr::is_ipv6
- I-SocketAddrV4::entsha
- SocketAddrV4::ip
- I-SocketAddrV4::izibuko
- I-SocketAddrV6::entsha
- SocketAddrV6::ip
- I-SocketAddrV6::izibuko
- SocketAddrV6 ::flowinfo
- SocketAddrV6::scope_id
- Wongeze amandla okusebenzisa iiflegi eziyinyaniso kunye nezobuxoki kwiingxoxo zokuhlanganisa.
umthombo: opennet.ru
