Mwepụta nke asụsụ mmemme izugbe nke Rust 1.61, nke ọrụ Mozilla hiwere, mana nke emepụtara ugbu a n'okpuru nkwado nke otu nọọrọ onwe ya na-abụghị uru Rust Foundation, ka ebipụtala. Asụsụ ahụ na-elekwasị anya na nchekwa nchekwa ma na-enye ụzọ iji nweta ọrụ dị elu na parallelism ma na-ezere iji onye na-ekpofu ihe mkpofu na oge ịgba ọsọ (oge ọ na-agba ọsọ na-ebelata ka ọ bụrụ mmalite na nhazi nke ọbá akwụkwọ ọkọlọtọ).
Ụzọ ijikwa ebe nchekwa rust na-azọpụta onye nrụpụta site na njehie mgbe ị na-emegharị ihe nrịbama ma chebe onwe ya pụọ na nsogbu ndị na-ebilite n'ihi njikwa ebe nchekwa dị ala, dị ka ịnweta ebe nchekwa mgbe a tọhapụrụ ya, iwepụ pointers null, buffer overruns, wdg. Iji kesaa ọba akwụkwọ, nye ihe na-ewuli elu ma jikwaa ịdabere, ọrụ ahụ na-emepụta onye njikwa ngwugwu Cargo. A na-akwado ebe nchekwa crates.io maka ọba akwụkwọ nnabata.
A na-enye nchekwa nchekwa na nchara n'oge a na-achịkọta site na ntụle ntụnye aka, idobe usoro nwe ihe, idobe oge ndụ ihe (scopes), na ịlele izi ezi nke ịnweta ebe nchekwa n'oge mmebe koodu. Nchara na-enyekwa nchebe pụọ na integer njupụta, na-achọ mmalite mmalite nke ụkpụrụ agbanwe agbanwe tupu eji ya, na-edozi njehie nke ọma n'ọbá akwụkwọ ọkọlọtọ, na-etinye echiche nke ntụgharị na mgbanwe na-adịghị agbanwe agbanwe na ndabara, na-enye akara static siri ike iji belata njehie ezi uche dị na ya.
Isi ihe ọhụrụ:
- Ọ ga-ekwe omume ịkọwa koodu nloghachi nke gị site na isi ọrụ. Na mbụ, isi ọrụ Rust nwere ike ịlọghachi naanị ụdị "()" (unit), nke na-egosi mgbe niile ọkwa ọpụpụ na-aga nke ọma ma ọ bụrụ na onye nrụpụta kpọrọ ya hoo haa ọrụ "process:: exit(code)". Na Rust 1.26, na-eji njirimara nkwụsị na-akwụghị ụgwọ na isi ọrụ, ọ ga-ekwe omume iweghachite ụkpụrụ "Ok" na "Err", kwekọrọ na EXIT_SUCCESS na EXIT_FAILURE codes na mmemme C. Na Rust 1.61, e mewo ka njirimara nkwụsị ahụ kwụsie ike, ma atụpụtawo ụdị ExitCode dị iche ka ọ na-anọchi anya koodu nkwụghachi ụgwọ, nke na-ewepụta ụdị nlọghachi nke ikpo okwu kpọmkwem site n'inye ma ndị a kọwapụtara n'ihu n'ihu na ọdịda, na usoro sitere na usoro. iji weghachi koodu nghachị omenala. jiri std :: usoro :: ExitCode; fn main () -> ExitCode {ma ọ bụrụ !check_foo () {laghachi ExitCode :: site na (8); } ExitCode:: Ịga nke Ọma }
- Akwụsịla ike ọrụ ndị ọzọ akọwapụtara site na iji okwu "const fn", nke enwere ike ịkpọ ọ bụghị naanị dị ka ọrụ oge niile, mana ejiri ya mee ihe n'ọnọdụ ọ bụla kama ịdịgide. A na-agbakọ ọrụ ndị a n'oge a na-achịkọta, ọ bụghị n'oge oge, ya mere, ha na-adabere na ụfọdụ mgbochi, dị ka ike ịgụ naanị site na nkwụsị. Na ụdị ọhụrụ a, a na-ahapụ ọrụ ndị nwere isi ọrụ na-arụ ọrụ n'ime ọrụ const (a na-ahapụ ịmepụta, ịgafe na nkedo, ma ọ bụghị ịkpọ ọrụ site na pointer); njiri mara maka ọnụọgụ ọnụọgụ nke ọrụ const dị ka T: Detuo; Àgwà ndị na-agbanwe agbanwe (dyn Trait); impl Ụdị àgwà maka arụmụka ọrụ yana ụkpụrụ nloghachi.
- The iyi ahụ na-ejikwa Stdin, Stdout na Stderr na std :: io ugbu a nwere ndụ ndụ static ("'static") mgbe akpọchiri ya, na-enye ohere maka ịrụ ọrụ dịka "ahapụ = std :: io :: stdout () . mkpọchi ();" site n'inweta aka na ịtọ mkpọchi n'otu okwu.
- Atụgharịla akụkụ ọhụrụ nke API n'ụdị nke kwụsiri ike, gụnyere ụzọ na mmejuputa omume nke ejiri mesie ike:
- Pin :: static_mut
- Pin :: static_ref
- Vec :: retain_mut
- VecDeque :: retain_mut
- Dee maka Cursor<[u8; N]>
- std :: os :: unix :: net :: SocketAddr :: site na aha_pathname
- std :: usoro :: ExitCode
- std :: usoro :: Nkwụsị
- std :: eriri :: Jikọọ aka :: agwụla
- A na-eji àgwà "const", nke na-ekpebi ohere iji ya mee ihe n'ọnọdụ ọ bụla kama ịdịgidesi ike, na ọrụ:
- <* const T> :: offset na <* mut T> :: offset
- <* const T> :: wrapping_offset na <* mut T> :: wrapping_offset
- <* const T>:: tinye na <*mut T>:: tinye
- <* const T>:: sub na <*mut T>:: sub
- <* const T> :: wrapping_add na <* mut T> :: wrapping_add
- <* const T> :: wrapping_sub na <* mut T> :: wrapping_sub
- <[T]>:: as_mut_ptr
- <[T]>:: dị ka_ptr_oke
- <[T]>:: as_mut_ptr_oke
Tụkwasị na nke a, ị nwere ike ịhụ isiokwu a "Nchara: A Critical Retrospective" na nchịkọta nke echiche nke asụsụ nchara mgbe ịdechara koodu 100 puku ahịrị n'ime ya n'oge mmepe nke Xous microkernel sistemụ arụmọrụ eji na firmware. Ọdịmma na-agụnye syntax siri ike nghọta, ezughị ezu na ịga n'ihu na mmepe nke asụsụ, enweghị ihe na-ewuli elu, nsogbu ndị a na-ahụkarị na ntụkwasị obi ịdabere na Crates.io, na mkpa ọ dị ịnọgide na-enwe ụfọdụ ịdọ aka ná ntị iji dee koodu echedoro. Akụkụ ndị karịrị ihe a tụrụ anya na-agụnye ngwaọrụ maka ịmegharị koodu yana ịrụgharị "hacks" agbakwunyere n'oge prototyping ngwa ngwa.
isi: opennet.ru