Siideynta luqadda barnaamijka Rust 2021 (1.56)

Siideynta luqadda barnaamijka nidaamka Rust 1.56, 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. Marka lagu daro nambarka nooca caadiga ah, siideynta sidoo kale waxaa loo qoondeeyay Rust 2021 waxayna calaamad u tahay xasilinta isbeddellada la soo jeediyay saddexdii sano ee la soo dhaafay. Rust 2021 ayaa sidoo kale u adeegi doonta aasaaska kordhinta shaqeynta saddexda sano ee soo socota, oo la mid ah sida sii deynta Rust 2018 ay u noqotay aasaaska horumarinta luqadda seddexdii sano ee la soo dhaafay.

Si loo ilaaliyo waafaqsanaanta, horumariyayaashu waxay isticmaali karaan summada "2015", "2018" iyo "2021" ee barnaamijyadooda, taasoo u oggolaanaysa barnaamijyada in lagu xiro jeexjeexyada gobolka luqadda ee u dhigma daabacadaha la doortay ee Rust. Daabacaadyada waxaa loo soo bandhigay si loo kala saaro isbeddellada aan is-waafaqayn waxaana lagu habeeyey xogta badan ee xirmooyinka xamuulka iyada oo loo marayo goobta "daabacaadda" ee qaybta "[xirmo]". Tusaale ahaan, daabacaadda "2018" waxaa ka mid ah shaqeynta la xasiliyay dhammaadka 2018 iyo sidoo kale waxay dabooshaa dhammaan isbeddellada dheeraadka ah ee aan jebin iswaafajinta. Daabacaada 2021 waxa kale oo ku jira sifooyin jabiya wada shaqaynta oo lagu soo jeediyay 1.56 sii daynta hadda lana ansixiyay hirgalinta mustaqbalka. Marka lagu daro luqadda lafteeda, tifaftirayaashu waxay sidoo kale tixgeliyaan xaaladda qalabka iyo dukumentiyada.

Is-waafajin la'aanta waaweyn ee la duubay Rust 2021:

  • Qabashada goonida ah ee Xiritaanka - Xiritaannada hadda waxay qabsan karaan magacyo goob gaar ah halkii ay ka ahaan lahaayeen dhammaan aqoonsiga. Tusaale ahaan, "|| faas + 1" kaliya waxay qabsan doontaa "ax" halkii "a".
  • Sifada IntoIterator ee arrays: array.into_iter() waxa ay kuu ogolaanaysaa in aad ku celceliso curiyayaasha arrays ee qiyamka, halkii aad tixraaci lahayd.
  • Habaynta "|" tibaaxaha ayaa lagu bedelay macro_rules (Boolean OR) qaab ahaan - Tilmaamaha ":pat" ee kulammada hadda waxay ixtiraamayaan "A | B".
  • Maareeyaha xirmada xamuulka waxaa ku jira sida caadiga ah nooca labaad ee xallinta sifada, taageerada kaas oo ka soo muuqday Rust 1.51.
  • Sifooyinka TryFrom, TryInto iyo FromIterator ayaa lagu daray hordhaca cutubka caadiga ah ee maktabadda.
  • Argagaxa! (..) oo sheeg!
  • Erayada ident#, identΒ»..."iyo ident"..." waxa ay ku kaydsan yihiin ereyga luqadda.
  • Dhaqdhaqaaqa shayada qaawan iyo ellipsis_inclusive_range_patterns digniinaha khaladaadka.

Ku cusub Rust 1.56:

  • Gudaha Cargo.toml, qaybta "[xirmo]", goobta nooca daxaluhu waa lagu daray, taas oo aad ku ogaan karto nooca ugu yar ee la taageeray ee Rust ee xirmada sanduuqa. Haddii nooca hadda aanu ku habboonayn cabbirka la cayimay, Cargo waxay joojinaysaa ku shaqaynta farriinta khaladka ah.
  • Marka nashqada la iswaafajiyo iyadoo la adeegsanayo tibaaxaha "binding @ pattern", taageero ayaa la bixiyaa si loo qeexo xiritaanno dheeri ah (tusaale, "let matrix @ Matrix { row_len, .. } = get_matrix();").
  • Qayb cusub oo API ah ayaa loo raray qaybta xasiloon, oo ay ku jiraan hababka iyo hirgelinta sifooyinka la dajiyay:
    • std:: os:: unix:: fs:: chroot
    • Un safeCell :: ceeriin_hel
    • BufWriter:: qaybo_qayb
    • core:: argagax:: {UnwindSafe, RefUnwindSafe, AssertUnwindSafe}
    • Vec :: hoos u dhig
    • Xarig::ku soo koob
    • OsString:: hoos_udhac
    • PathBuf :: hoos u dhig
    • BinaryHeap::ku soo koob
    • VecDeque :: hoos u dhig
    • HashMap:: hoos u dhig
    • HashSet :: hoos u dhig
  • Sifada "const", taas oo go'aamisa suurtagalnimada in loo isticmaalo xaalad kasta oo aan joogto ahayn, ayaa loo adeegsadaa hawlaha
    • std:: mem:: beddel
    • [T]:: marka hore
    • [T]:: kala qaybsantay
    • [T]:: ugu dambeysay
    • [T]:: kala qaybsantay
  • Soo-sameeyaha ayaa loo beddelay inuu isticmaalo LLVM nooca 13.
  • Heer labaad oo taageero ah ayaa loo hirgeliyay aarch64-apple-ios-sim platform iyo heerka saddexaad ee powerpc-unknown-freebsd iyo riscv32imc-esp-espidf platforms. 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.

Xusuusnow in Rust ay diiradda saareyso badbaadada xusuusta, waxay bixisaa maaraynta xusuusta tooska ah, waxayna bixisaa hab lagu gaaro isbarbardhigga sare ee fulinta shaqada iyada oo aan la isticmaalin qashin aruuriyaha ama wakhtiga runtime (waqtiga runtu waa la dhimay 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.

Source: opennet.ru

Add a comment