Rust 1.53 ayaa la sii daayay. Google ayaa maalgelin doonta ku darista taageerada Rust ee kernel-ka Linux

Siideynta luqadda barnaamijka nidaamka Rust 1.53, oo uu aasaasay mashruuca Mozilla, laakiin hadda lagu horumariyay hoosta ururka madax-bannaan ee aan macaash doonka ahayn ee Rust Foundation, ayaa la daabacay. Luqadda waxay diiradda saartaa badbaadada xusuusta, waxay bixisaa maaraynta xusuusta oo toos ah, waxayna bixisaa hab lagu gaaro isbarbardhigga hawsha sare iyada oo aan la isticmaalin qashin ururiyaha ama wakhtiga runtime (waqtiga runtime wuxuu hoos u dhigayaa bilowga aasaasiga ah iyo dayactirka maktabadda caadiga ah).

Maareynta xusuusta tooska ah ee Rust's waxay tirtirtaa khaladaadka marka la maamulayo tilmaamayaasha waxayna ka ilaalisaa dhibaatooyinka ka dhasha khalkhalgelinta heerka hoose ee xusuusta, sida gelitaanka gobolka xusuusta ka dib markii la sii daayay, tilmaame null ah, dulsaar xad dhaaf ah, iwm. Si loo qaybiyo maktabadaha, loo hubiyo isu-ururinta iyo maareynta ku-tiirsanaanta, mashruucu wuxuu horumarinayaa maareeyaha xirmada xamuulka. Kaydka crates.io waxaa lagu taageeraa martigelinta maktabadaha.

Hal-abuurka ugu muhiimsan:

  • Arrays, sifada IntoIterator waa la hirgaliyay, taas oo kuu ogolaanaysa inaad habayso soocidda curiyayaasha aray iyadoo la eegayo qiyamka: i in [1, 2, 3] { .. }

    Waxa kale oo suurtogal ah in loo gudbiyo habab aqbala soo noqnoqda, tusaale ahaan: ha la dhigo = BTreeSet :: from_iter ([1, 2, 3]); loogu talagalay (a, b) qaar ka mid ah_iterator.chain ([1]) .zip ([1, 2, 3]) { .. }

    Markii hore, IntoIterator waxa kaliya oo loo hirgeliyay tixraacyada diyaarinta, i.e. Si loo qiyaaso qiyamka loo baahan yahay isticmaalka tixraacyada ("& [1, 2, 3]") ama "[1, 2, 3].iter ()". Hirgelinta IntoIterator ee habaynta waxa caqabad ku noqday arrimaha iswaafajinta oo ay sababtay isu-dubarid hore oo ka soo array.into_iter() una beddelay (&array). galay_iter(). Dhibaatooyinkan waxaa lagu xalliyay hab-dhaqan-sameeyaha wuxuu sii wadi doonaa inuu u beddelo array.into_iter () una beddelo (&array) .into_iter () sidii haddii aysan jirin dhaqangelinta sifada IntoIterator, laakiin kaliya marka la wacayo habka adoo isticmaalaya ".into_iter() )" syntax iyo adoon taaban wicitaanada qaabka "gudaha [1, 2, 3]", "iter.zip ([1, 2, 3])", "IntoIterator :: galay_iter ([1, 2, 3]) )".

  • Waa suurtagal in la qeexo tibaaxaha "|" (macquul AMA hawlgal) qayb kasta oo template ah, tusaale ahaan, halkii "Qaar (1) | Qaar (2)" waxaad hadda qori kartaa "Qaar (1 | 2)": natiijada ciyaarta { Ok (Qaar (1 | 2)) => { .. } Err (MyError {nooca: FileNotFound | Ogolaanshaha waa la diiday, .. }) = > { .. } _ => { .. }
  • Isticmaalka xarfaha aan ASCII ahayn ee aqoonsiga waa la oggol yahay, oo ay ku jiraan xarfo kasta oo qaran oo lagu qeexay qeexida Unicode UAX 31, laakiin marka laga reebo jilayaasha emoji. Haddii aad isticmaasho jilayaal kala duwan laakiin la mid ah, iskudubariduhu wuxuu soo saari doonaa digniin. const BLΓ…HAJ: &str = "🦈"; qaab dhismeedka δΊΊ {名字: Xarig,} ha Ξ± = 1; daa = 2; digniin: lamaanaha aqoonsiga ayaa loo arkaa inay isku dhex yaacsan yihiin 's' iyo 's'
  • Qayb cusub oo APIs ah ayaa loo wareejiyay qaybta xasiloon, oo ay ku jiraan kuwan la xasiliyay:
    • array:: from_ref
    • array :: ka_mut
    • AtomicBool :: soo dejin_update
    • AtomicPtr :: dib u cusbooneysiin
    • BTreeSet:: hayn
    • BTreeMap:: hayn
    • BufReader:: qaraabo raadso
    • cmp:: min_by
    • cmp:: min_by_key
    • cmp:: ugu badnaan
    • cmp :: max_by_key
    • DebugStruct:: dhammayn_aan_dhamaysnayn
    • Muddada:: EBER
    • Mudada::MAX
    • Muddada:: waa eber
    • Mudada::saturating_add
    • Duration::saturating_sub
    • Duration::saturating_mul
    • f32::waa_mid aan caadi ahayn
    • f64::waa_mid aan caadi ahayn
    • IntoIterator for arys
    • {integer} :: BITS
    • io:: Qalad:: Lama taageero
    • NonZero*::Leading_eber
    • NonZero*:: eber_raaca
    • Ikhtiyaarka:: geli
    • Dalbashada::is_eq
    • Dalbashada:: is_ne
    • Dalbashada::waa_lt
    • Dalbashada::is_gt
    • Dalbashada::is_le
    • Dalbashada::is_ge
    • OsStr :: ka dhig_ascii_yar
    • OsStr :: ka dhig_ascii_case
    • OsStr:: ku_ascii_hoose
    • OsStr:: ku_ascii_ka sare
    • OsStr :: waa_ascii
    • OsStr :: eq_ignore_ascii_case
    • La arki karo::peek_mut
    • Rc::kordhin_xoog_tirin
    • Rc :: hoos u dhac_xoog_tirin
    • jeex :: IterMut :: sida_slice
    • AsRef<[T]> ee jeex :: IterMut
    • impl SliceIndex ee (Bound , Xidhan )
    • Vec :: ka_gudbid_gudaha
  • Heerkii saddexaad ee taageerada madasha wasm64-aan la garanayn ayaa la hirgeliyay. Heerka saddexaad waxa uu ku lug leeyahay taageerada aasaasiga ah, laakiin iyada oo aan la helin tijaabo toos ah, daabacaadda dhismo rasmi ah, ama hubinta in koodka la dhisi karo.
  • Maareeyaha xirmada xamuulka ayaa loo raray inuu u isticmaalo magaca "ugu weyn" laanta ugu weyn ee kaydka Git (HEAD) si caadi ah. Ku-tiirsanaanta lagu hayo bakhaarada isticmaala magaca muhiimka ah halkii ay ka ahaan lahaayeen sayid uma baahna laan = "main" in la habeeyo.
  • Isku-dubbaridka, shuruudaha nooca ugu yar ee LLVM ayaa kor loogu qaaday LLVM 10.

Intaa waxaa dheer, waxaan ogaan karnaa bixinta maalgelinta horumarinta isdhexgalka ee qalabka Linux ee horumarinta qaybaha luqadda Rust. Shaqada waxaa lagu fulin doonaa gudaha qaabka mashruuca Prossimo ee hoos yimaada ururka ISRG (Kooxda Cilmi-baarista Amniga Internetka), kaas oo ah aasaasaha mashruuca Aynu Encryption oo kor u qaadaya HTTPS iyo horumarinta tignoolajiyada si loo kordhiyo amniga Internetka. Lacagta waxaa bixin doona Google, kaas oo bixin doona shaqada Miguel Ojeda, qoraaga mashruuca Rust-for-Linux. Markii hore, ISRG iyo Google waxay horey u maalgaliyeen abuurista dhabarka dambe ee HTTP ee utility curl iyo horumarinta moduleka cusub ee TLS ee server-ka Apache http.

Sida laga soo xigtay Microsoft iyo Google, qiyaastii 70% dayacanka waxaa sababa maaraynta xusuusta aan badbaado lahayn. Waxaa la filayaa in adeegsiga luqadda Rust-ka si loo horumariyo qaybaha kernel-ka sida wadayaasha aaladaha ay hoos u dhigi doonto halista nuglaanshaha ay sababto maaraynta xusuusta aan badbaadada lahayn oo ay meesha ka saarto khaladaadka sida gelitaanka gobolka xusuusta ka dib marka la sii daayo iyo xad dhaafka xad-dhaafka ah.

Badbaadada xusuusta waxaa lagu bixiyaa miridhku marka la ururiyo wakhtiga iyada oo la hubinayo tixraaca, la socodka lahaanshaha shay iyo cimriga shayga (baaxadda), iyo sidoo kale iyada oo loo marayo qiimaynta saxda ah ee helitaanka xusuusta inta lagu jiro fulinta koodka. Daxalku sidoo kale wuxuu ka ilaaliyaa qulqulka isdhaafsiga, wuxuu u baahan yahay bilawga qasabka ah ee qiyamka doorsoomka ka hor intaan la isticmaalin, wuxuu si fiican u maareeyaa khaladaadka maktabadda caadiga ah, wuxuu dabaqaa fikradda tixraacyada aan bedeli karin iyo doorsoomayaasha si caadi ah, waxay bixisaa qorid adag oo adag si loo yareeyo khaladaadka macquulka ah.

Source: opennet.ru

Add a comment