Rust 1.84 ayaa la sii daayay. Tock iyo Vekos cores oo ku qoran miridhku. Lahjadda Mini-C

Siideynta Rust 1.84 luqadda barnaamijka guud ee ujeeddooyinka, oo uu aasaasay mashruuca Mozilla, laakiin hadda lagu horumariyay hoosta hay'adda madax-bannaan ee aan faa'iido doonka ahayn ee Rust Foundation, ayaa la daabacay. Luqadda waxay diiradda saartaa badbaadada xusuusta waxayna bixisaa siyaabaha lagu gaaro isbarbardhigga shaqada sare iyadoo laga fogaanayo isticmaalka qashinka aruuriyaha iyo wakhtiga runtime (waqtiga runtime wuxuu hoos u dhigayaa bilowga aasaasiga ah iyo dayactirka maktabadda caadiga ah).

Hababka wax ka qabashada xusuusta daxalku waxay horumariyaha ka badbaadiyaan khaladaadka marka la maamulayo tilmaamayaasha oo ay ka ilaaliyaan dhibaatooyinka ka dhasha maaraynta xusuusta heerka hoose ah, sida gelitaanka aagga xusuusta ka dib marka la sii daayo, leexinta tilmaameyaal aan waxba lahayn, dulin xad dhaaf ah, iwm. Si loo qaybiyo maktabadaha, loo bixiyo dhismayaal loona maareeyo ku-tiirsanaanta, mashruucu wuxuu horumariyaa maareeyaha xirmada xamuulka. Kaydka crates.io waxaa lagu taageeraa martigelinta maktabadaha.

Badbaadada xusuusta waxa lagu bixiyaa miridhku wakhtiga la ururinayo iyada oo la eegayo tixraaca, la socodka lahaanshaha shayga, la socodka cimriga shayga (koobyada), iyo qiimaynta saxnaanta gelitaanka xusuusta inta lagu jiro fulinta koodka. Daxalku sidoo kale wuxuu bixiyaa difaac ka dhan ah qulqulka isugeynta, wuxuu u baahan yahay bilawga qasabka ah ee qiyamka doorsooma 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, wuxuu bixiyaa qorid adag oo adag si loo yareeyo khaladaadka macquulka ah.

Hal-abuurka ugu muhiimsan:

  • Maareeyaha xirmada xamuulku waxa uu leeyahay hannaan habayn ku tiirsanaaneed oo xasiloon kaas oo dooranaya noocyada qaybaha ku tiirsanaanta iyada oo la tixgalinayo la jaanqaadka noocyada isku-dubaridaha miridhku ku dhawaaqay in uu yahay mid si yar u taageeray mashruuca Habka cusubi waxa uu meesha ka saarayaa baahida loo qabo in ilaaliyeyaashu ay gacanta ku doortaan noocyadii hore ee ku-tiirsanaanta kasta ee mashaariicda ku sii socon kara noocyadii hore ee qalabka Rust Qaabka xallinta ku-tiirsanaanta cusub waxaa loo awoodsiin doonaa si caadi ah Rust 1.85 siideynta, laakiin hadda waxaa loo heli karaa sidii ikhtiyaarka la awoodi karo iyadoo lagu qeexayo 'incompatible-rust-versions =' ee qaybta "[xaliyaha]" ee ". cargo/config.toml" file. fallback"'.
  • Waxa aanu bilownay in aanu isku xidhaha u bedelno nooc cusub oo xaliye ah, looguna talagalay in lagu hubiyo xudduudaha lagu dabaqi karo sifooyinka, caadiyno noocyada, iyo in la qiimeeyo nooca waafaqsanaanta. Nooca 1.84, maamule cusub ayaa loo isticmaalaa si loo hubiyo joogteynta fulinta astaamaha, i.e. qiimeynta jiritaanka ugu badnaan hal sifo oo nooca su'aasha ah, iyadoo la tixgelinayo koodka xirmooyinka kale ee sanduuqyada. Hubintani waxay noo ogolaatay inaan ka takhalusno dhibaatooyinka dhaqan-gelinta hore ee nooca maamulaha, taas oo keeni karta isku dhacyo sababtoo ah isgoysyada fulinta noocyada kala duwan.
  • API cusub ayaa la soo jeediyay "Strict Provenance", kaas oo loo isticmaali karo in lagu beddelo tilmaame isku-dhafan iyo gadaal, iyadoo la tixgelinayo xogta badan ee ku lifaaqan tusaha macluumaadka ku saabsan asalkiisa iyo goobta la isticmaalo (marka lagu daro cinwaanka, qiimaha "provenance" wuxuu ku xiran yahay tilmaamayaasha macluumaadka ku saabsan xiriirka ee tilmaamayaasha kale, kaas oo kuu ogolaanaya inaad go'aamiso meesha iyo goorta tilmaamuhu heli karo xusuusta). Marka la tuurayo tilmaanta isugeynta iyo dhabarka, dabeecad aan la qeexin ayaa dhacda sababtoo ah dhibaatada raadinta asalka tilmaanta keentay. API-ga cusub wuxuu kuu ogolaanayaa inaad sameyso hawlgallo tilmaame heer hoose ah, sida kaydinta macluumaad dheeri ah oo ku jira jaantusyada hoose ee tilmaameha, adoon ku tuurin tilmaanta halbeeg.
  • Qayb cusub oo API ah ayaa loo raray qaybta xasiloon, oo ay ku jiraan hababka iyo hirgelinta sifooyinka la dajiyay:
    • Ipv6Addr :: waa_guud_maxali
    • Ipv6Addr :: is_unicast_link_local
    • core :: ptr :: oo leh_provenance
    • core :: ptr :: oo leh_provenance_mut
    • :: addr
    • :: daaha ka faydo
    • :: addr
    • :: khariidad_adr
    • ::isqrt
    • ::isqrt_lagu hubiyay
    • ::isqrt
    • NonZero::isqrt
    • core :: ptr :: bilaa_provenance
    • core :: ptr :: bilaa_provenance_mut
    • xudunta :: ptr :: lunsiga
    • core :: ptr :: dangling_mut
    • Pin :: as_deref_mut
  • Calaamadda "const" waxaa loo adeegsadaa hawlaha:
    • AtomicBool :: ka_ptr
    • AtomicPtr :: ka_ptr
    • AtomicU8 :: ka_ptr
    • AtomicU16 :: ka_ptr
    • AtomicU32 :: ka_ptr
    • AtomicU64 :: ka_ptr
    • AtomicUsize :: ka_ptr
    • AtomicI8 :: ka_ptr
    • AtomicI16 :: ka_ptr
    • AtomicI32 :: ka_ptr
    • AtomicI64 :: ka_ptr
    • AtomicIsize :: laga bilaabo_ptr
    • :: waa_null
    • :: sida_tixraac
    • :: sida_mut
    • Pin:: cusub
    • Pin:: cusub_aan la hubin
    • Pin::hel_ref
    • Pin :: galay_ref
    • Pin::hel_mut
    • Pin :: aan la hubin
    • Pin :: static_ref
    • Pin :: static_mut
  • Taageerada isku xirka khadka tooska ah ee s390x iyo naqshadaha Arm64EC waa la dajiyay.
  • Taageerada qiimaha badan, noocyada tixraaca iyo shaqeynta dabada-wacitaanka ayaa loo dejiyay goobta bartilmaameedka WebAssembly.
  • Heerka labaad ee taageerada wasm32v1-ma jiro mid la hirgeliyay. Heerka labaad ee taageerada waxa ku jira dammaanad qaadka shirka.

Intaa waxaa dheer, waxaa jira dhowr mashruuc oo la xiriira Rust:

  • Siideynta Tock 2.2 nidaamka qalliinka, oo ku qoran luqadda Rust oo loogu talagalay isticmaalka microcontrollers, ayaa la daabacay. Nidaamku wuxuu u oggolaanayaa in si isku mid ah loo fuliyo codsiyo badan oo aan la aamini karin oo ku saabsan qalabka ku xiran ee leh cabbirka RAM xaddidan, sida dareemayaasha, TPM (Trusted Platform Module), furaha aqoonsiga iyo qalabka la xiran karo. Platform-ka leh koontaroolayaasha yar yar ee ku salaysan ARM Cortex-M iyo RISC-V naqshadaha waa la taageeray. Tilmaamaha ugu muhiimsan ee Tock waa go'doominta codsiga, kernel iyo lakabyada darawalka, iyo sidoo kale go'doominta codsi kasta iyo darawal gaar ah. Go'doominta waxay isticmaashaa labadaba awoodaha luqadda Rustka iyo kala-soocidda heerka ilaalinta xusuusta.
  • Mashruuca VEKOS (Verified Experimental Kernel OS) wuxuu soo saara kernel nidaamka qalliinka ee luqadda Rust, kaas oo bixiya xaqiijinta qaybaha la fulin karo. Nidaam kasta oo faylal ah oo hawlgal ah, abuurista habka, iyo qoondaynta xusuusta, caddaynta cryptographic ayaa la soo saaray taas oo u oggolaanaysa hawlgalka in la xaqiijiyo inta lagu jiro fulinta ( dhaqangelinta waxaa la barbar dhigayaa isticmaalka xannibaadda si loo xaqiijiyo falalka nidaamka hawlgalka). Nidaamka faylka VKFS, si loo hubiyo daacadnimada iyo ilaalinta dib-u-dhaqaajinta dib-u-celinta, qaabka Merkle Tree ayaa la isticmaalaa, laan kasta oo xaqiijinaysa dhammaan laamaha iyo qanjidhada hoose, iyada oo ay ugu wacan tahay xashiishka geedka. Qoondaynta xusuusta waxa lagu sameeyaa qaabka lo'da (Koobi-ku-qor)
  • Koox cilmi-baarayaal ah oo ka socda Microsoft iyo Inria ayaa horumarinaya qayb ka mid ah luqadda C, Mini-C, oo loogu talagalay in si toos ah loogu tarjumo barnaamijyada C ee matalaad miridhku. Si ka duwan compiler c2rust, mashruuca cusub wuxuu kuu ogolaanayaa inaad abuurto code Rust adoon isticmaalin ammaan ahayn, laakiin waxaa loogu talagalay ugu horrayn in la beddelo mashaariicda C ee leh caddayn rasmi ah oo lagu kalsoonaan karo. Macnuhu waa in ay sahlanaan doonto in marka hore mashruuca C loo rogo matalaad Mini-C oo aan ogolayn xisaabinta tilmaamayaasha marka loo eego in dib loo qoro baloogyada aan badbaadada lahayn ka dib marka si toos ah looga ururiyo C ilaa miridhku.

    Hirgelinta isku-dubaridku waxay ku salaysan tahay qalabka KaRaMeL. Mini-C waa la sameeyay oo la tijaabiyay iyada oo qayb ka ah mashruuc dib loogu qorayo HACL* maktabadda cryptographic ee Rust, kaas oo caddayn rasmi ah oo lagu kalsoonaan karo la bixiyay. Caddeyn la mid ah ayaa loo adeegsaday si loo muujiyo awoodda lagu soo saari karo koodka Rust ee sugan Mini-C.

  • Daniel Stenberg, oo ah qoraaga utility curl, ayaa ku dhawaaqay in mashruuca Curl uusan sii horumarin doonin oo uusan sii hayn doonin dhabarka dambe ee HTTP oo ku qoran Rust iyadoo la adeegsanayo maktabadda Hyper. Sababta lagu sheegay waa xiiso la'aanta dhinaca horumarinta iyo isticmaalayaasha.
  • Siideynta beta ee qolofta taliska Kalluunka 4.0, oo dib loogu qoray Rust, ayaa lagu dhawaaqay. Waxaa la xusay in ka dib laba sano oo horumarineed, kalluun-koodeedka kalluunka si buuxda looga wareejiyay C ++ ilaa miridhku. U wareejinta Rust waxay noo ogolaatay inaan xallino mashaakilaadka ku-hadalka badan, hel qalab casri ah oo ogaanaya khaladaadka marxaladda isku-dubbaridka, hagaajinta badbaadada xusuusta, oo ka dhigaysa mashruuca mid soo jiidasho leh oo cusub.
  • Mashruuca Tor waxa uu daabacay siidaynta Arti 1.3.2, oo ah hirgelinta beddelka macmiilka Tor ee Rust. Arti wuxuu bixiyaa maktabad la dhex-dhigi karo oo ay isticmaali karaan codsiyo kala duwan. Marka la abuurayo Arti, waayo-aragnimadii hore ee horumarinta Tor ayaa la tixgaliyay si looga fogaado dhibaatooyinka qaab-dhismeedka ee la yaqaan oo laga dhigo mashruuca mid habaysan oo hufan. Laanta 1.x waxaa loo calaamadeeyay inay ku habboon tahay isticmaalayaasha guud waxayna bixisaa isla heer gaar ah, isticmaal, iyo xasilloonida hirgelinta C ugu weyn. Nooca cusub wuxuu sii wadaa horumarinta RPC, diyaarinta ayaa la sameeyay si loo hirgeliyo taageerada gudbinta, iyo ilaalinta weerarrada DoS ee adeegyada basasha ayaa lagu daray.
  • Siideynta mashiinka ciyaarta Bevy 0.15, oo ku qoran Rust, ayaa la daabacay. Matoorku waxa uu isticmaalaa qaabka Data Driven si uu u qeexo macquulka ciyaarta, oo lagu dul dhisay qaybo diyaarsan oo Bevy ECS ah Waxay taageertaa soo-bandhigista 2D iyo 3D, animation qalfoofka, samaynta qeexida garaafyada, nidaamka jiilka goobta, qaabka is-dhexgalka isticmaalaha, samaynta isbeddelada muuqaalada iyo agabka iyada oo aan loo baahnayn dib-u-bilaabid.
  • Tifaftiraha qoraalka console Helix 25.01 waa la daabacay, ku qoran Rust oo ballaarinaya fikradaha ku jira vim iyo neovim. Waxay taageertaa is dhexgalka server-yada LSP iyo Tree-sitter, xulashada isku mar ee dhowr blocks, isticmaalka cursors badan marka la tafatirayo, mawduucyada, iyo DAP (Brotokoolka Debug Adapter Protocol).
  • Matoorka browserka ee Servo, oo ku qoran Rust, ayaa ku daray taageerada qaabka naqshadaynta mugdiga ah. Cabirka browserka ServoShell ayaa la dhimay 20%. Taageerada qeexitaannada shabakadda ayaa la kordhiyey awoodda lagu galo oo lagu akhriyo fariimaha Discord (diridda fariimaha weli suurtagal ma aha).
  • Mozilla waxay soo bandhigtay Uniffi for React Toolkit si loogu abuuro qaybo loogu talagalay Dhaladka Falcelinta ee luuqada Rustka.
  • Waxqabadka sawir bixiyayaasha PNG waa la tijaabiyay. Codeeyayaasha daxalka (png, zune-png, wuffs) waxay noqdeen kuwo ka dheereeya C decoders (libpng, spng, stb_image). Tusaale ahaan, xirmada crate png (image-rs) waxay ka sarre martay libpng 1.8 jeer nidaamka x86 iyo 1.5 jeer nidaamka ARM. image-rs: 375.401 MP/s (celcelis ahaan) 318.632 MP/s (geomean) zune-png: 376.649 MP/s (celcelis ahaan) 302.529 MP/s (geomean) wuffs: 376.205 MP/s (celcelis ahaan) 287.181 geomean) libpng: 208.906 MP/s (celcelis ahaan) 173.034 MP/s (geomean) spng: 299.515 MP/s (celcelis ahaan) 235.495 MP/s (geomean) stb_image: 234.353 MP/s (celcelis ahaan) 171.505 MP/s

Source: opennet.ru

Add a comment