Rust 1.58 Siidaynta Luuqada Barnaamijaynta

Siideynta luuqadda barnaamijka guud ee ujeedada-guud ee Rust 1.58, 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:

  • Qaabaynta khadka, marka lagu daro awoodda hore ee la heli karo ee lagu beddeli karo doorsoomayaasha si cad u taxan ka dib sadar lambar iyo magac, awoodda lagu beddelo aqoonsiyada aan sabab lahayn iyadoo lagu daro odhaah "{identifier}" ee khadka waa la hirgeliyay. Tusaale ahaan: // Dhismayaal hore loo taageeray: println!("Hello, {}!", get_person()); println! ("Hello, {0}!", heli_qof()); println! ("Hello, {qof}!", qof = heli_qof()); // hadda waxaad cayimi kartaa qofka loo ogolaado = get_person(); println! ("Helo, {qof}!");

    Aqoonsiyada sidoo kale si toos ah ayaa loo qeexi karaa ikhtiyaarada qaabaynta. ha (ballac, sax ah) = heli_format (); loogu talagalay (magaca, dhibcaha) ee get_scores () {println! }

    Beddelka cusubi wuxuu ka shaqeeyaa dhammaan macros-yada taageera qeexida qaabka xargaha, marka laga reebo "argagaxa!" nooca 2015 iyo 2018 ee luqadda Rust, kaas oo argagaxa!

  • Habdhaqanka std :: habka :: Qaab dhismeedka amarka ee madal Windows waa la bedelay si marka la fulinayo amarada, sababo amaan dartood, mar dambe uma eegin faylasha la fulin karo ee tusaha hadda jira. Hagaha hadda waa laga saaray sababtoo ah waxaa loo isticmaali karaa in lagu fuliyo kood xaasidnimo ah haddii barnaamijyada lagu shaqeeyo hagayaal aan la aamini karin (CVE-2021-3013). Caqliga ogaanshaha cusub ee la fulin karo waxa ku jira raadinta hagaha Daxalka, hagaha codsiga, hagaha nidaamka Windows, iyo hagayaasha lagu cayimay doorsoomiyaha deegaanka PATH.
  • Maktabada caadiga ah waxay balaadhisay tirada shaqooyinka lagu calaamadeeyay "#[waa in la isticmaalo]" si loo soo saaro digniin haddii qiimaha soo celinta la iska indhatiro, taas oo gacan ka geysaneysa in la aqoonsado khaladaadka ay keento iyada oo loo maleynayo in shaqeyntu ay bedeli doonto qiyamka halkii ay soo celin lahayd qiime cusub.
  • Qayb cusub oo API ah ayaa loo raray qaybta xasiloon, oo ay ku jiraan hababka iyo hirgelinta sifooyinka la dajiyay:
    • Metadata :: is_symlink
    • Jidka::waa_symlink
    • {integer} :: saturating_div
    • Ikhtiyaarka:: aan duubin_aan la hubin
    • Natiijadu ::aan duubin_aan la hubin
    • Natiijadu::unrap_err_aan la hubin
  • Sifada "const", taas oo go'aamisa suurtagalnimada in loo isticmaalo xaalad kasta oo aan joogto ahayn, ayaa loo adeegsadaa hawlaha:
    • Duration::cusub
    • Mudada::la hubiyay_add
    • Mudada::saturating_add
    • Muddada ::la hubiyay_sub
    • Duration::saturating_sub
    • Mudada::la hubiyay_mul
    • Duration::saturating_mul
    • Mudada::la hubiyay_div
  • La oggolaaday ka-joojinta tilmaamayaasha "*const T" ee "const" macnaha guud.
  • Maareeyaha xirmada xamuulka, goobta rust_version ayaa lagu daray xogta badan ee xirmada, iyo ikhtiyaarka "- fariinta-qaabka" ayaa lagu daray amarka "rakibka xamuulka".
  • Isku-dubbaridiyuhu wuxuu hirgeliyaa taageerada habka ilaalinta CFI (Control Flow Integrity), kaas oo ku daraya jeegag ka hor wicitaan kasta oo aan toos ahayn si loo ogaado noocyada qaar ka mid ah dabeecadaha aan la qeexin taas oo keeni karta in la jebiyo amarka fulinta caadiga ah (socodka xakamaynta) natiijada Isticmaalka faa'iidooyinka beddela tilmaamayaasha ku kaydsan xusuusta hawlaha.
  • Isku-dubariduhu waxa uu ku daray taageerada noocyada 5 iyo 6 ee qaabka isbarbardhigga caymiska LLVM, oo loo isticmaalo in lagu qiimeeyo caymiska koodka inta lagu jiro imtixaanka.
  • Isku-dubbaridka, shuruudaha nooca ugu yar ee LLVM ayaa kor loogu qaaday LLVM 12.
  • Heerka saddexaad ee taageerada x86_64-aan la aqoon madal midna lama hirgelin. 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.

Intaa waxaa dheer, waxaan ogaan karnaa daabacaadda Microsoft ee sii deynta Rust for Windows 0.30 maktabadaha, kaas oo kuu ogolaanaya inaad isticmaasho luqadda Rust si aad u horumariso codsiyada Windows OS. Qalabka waxaa ku jira laba baakadood (daaqadaha iyo windows-sys), kuwaas oo aad ka geli karto Win API ee barnaamijyada Rust. Koodhka taageerada API waxaa si firfircoon uga soo baxa xogta badan ee qeexaysa API, taas oo kuu oggolaanaysa inaad hirgeliso taageerada kaliya maaha wicitaannada Win API ee jira, laakiin wicitaannada soo bixi doona mustaqbalka. Nooca cusubi wuxuu ku darayaa taageerada UWP (Universal Windows Platform) bartilmaameedka bartilmaameedka wuxuuna fuliyaa noocyada Handle iyo Debug.

Source: opennet.ru

Add a comment