Rust 1.73 Siidaynta Luuqada Barnaamijaynta

Siideynta Rust 1.73 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:

  • Qaabka fariimaha uu soo saaray maamulaha shilka barnaamijka caadiga ah (argagaxa) ayaa dib loo habeeyey. Qoraalka ku qeexan "argagaxa!" makro ayaa hadda lagu muujiyay sadar gaar ah oo aan lahayn calaamado xigasho, taasoo ka dhigaysa fariinta si sahlan loo akhrin karo oo meesha ka saaraysa jahawareerka marka xigashooyin buul ah ay joogaan ama ay u kala baxaan sadar badan. fn main() {la daayo faylka = "ferris.txt"; argagax! ("haah maya! {file:?} lama helin!"); β–£ Waxaa jiray dunta 'ugu weyn' oo argagaxsan 'oh maya! "ferris.txt" lama helin!', src/main.rs:3:5 Dulanka 'main' oo argagaxsan src/main.rs:3:5: oh maya! "ferris.txt" lama helin!

    Soo saarida fariimaha la muujiyay marka "assert_eq" iyo "assert_ne" macros ay kiciyaan ayaa sidoo kale dib loo shaqeeyay. fn main() {assert_eq!("πŸ¦€", "🐟", "ferris ma aha kalluun"); β–£ Waxaa jiray dun 'main' ah oo ka naxsan 'sheeggu waa fashilmay:'(bidix == midig)' bidix: `"πŸ¦€"`, midig: `" 2:5 Dulmiga 'ugu weyn' wuxuu ka argagaxay src/main.rs:2:5: sheegashada 'bidix == midig' waa guuldareystay: ferris maaha kalluun bidix: "πŸ¦€" midig: "🐟"

  • Sida waafaqsan RFC 3184, awoodda si toos ah loo maamulo dunta-maxali ah (thread_local) furayaasha kaydinta Keydka Maxaliga ah ayaa lagu daray > iyo Key Key > iyada oo la adeegsanayo helitaanka (), set (), qaadashada () iyo beddelka () hababka, halkii aad isticmaali lahayd "la (| gudaha | ...)", taas oo meesha ka saaraysa baahida loo qabo in la sameeyo koodka bilawga dheeraadka ah ee qiyamka caadiga ah ee loo cayimay dunta cusub marka la isticmaalayo makro "thread_local!" dun_maxali ah! Waxyaalo taagan: unug > = Unug :: cusub (Vec :: cusub()); } fn f () {// ahaa WAXYAABO. leh (|i| i.set (vec![32, 1, 2])); // noqday WAXYAABO.set(vec![3, 1, 2]); // ... // waa loo daayay v = WAXYAABAHA. leh (|i| i.qaado ()); // noqday ha v: Vec = WAXYAABAHA.qaado (); }
  • Qayb cusub oo API ah ayaa loo raray qaybta xasiloon, oo ay ku jiraan hababka iyo hirgelinta sifooyinka la dajiyay:
    • Aan saxeexin {integer} :: div_ceil
    • Aan saxeexin {integer} ::kuxiga_badan_oo ah
    • Aan saxeexin {integer} :: la hubiyay_xiga_badan_oo
    • std:: ffi:: FromBytesUntilNulError
    • std:: os:: unix:: fs:: chown
    • std:: os:: unix:: fs:: fchown
    • std:: os:: unix:: fs:: lfchown
    • Furaha Maxaliga:: >::hel
    • Furaha Maxaliga:: >> dhigay
    • Furaha Maxaliga:: >::qaado
    • Furaha Maxaliga:: >:: beddel
    • Furaha Maxaliga:: >> amaahday
    • Furaha Maxaliga:: >>
    • Furaha Maxaliga:: >> dhigay
    • Furaha Maxaliga:: >::qaado
    • Furaha Maxaliga:: >:: beddel
  • Sifada "const", taas oo go'aamisa suurtagalnimada in loo isticmaalo xaalad kasta oo aan joogto ahayn, ayaa loo adeegsadaa hawlaha:
    • rc::Daciif::cusub
    • sync::Daciif::cusub
    • NonNull:: as_ref
  • Isku-dubariduhu waxa uu ku siinayaa duubista macluumaadka nooca qaybta β€œ.comment”, oo la mid ah GCC iyo Clang.
  • Heerka saddexaad ee taageerada ayaa loo hirgeliyay aaladaha aarch64-unknown-teeos, csky-unknown-linux-gnuabiv2, riscv64-linux-android, riscv64gc-unknown-hermit, x86_64-unikraft-linux-musl iyo x86_64-unknown-linux -hoos. 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.
  • Heerkii labaad ee taageerada goobta la beegsanayo wasm32-wasi-preview1-threads waa la hirgeliyay. Heerka labaad ee taageerada waxa ku jira dammaanad qaadka shirka.

Source: opennet.ru

Add a comment