Weşana Zimanê Bernamesaziyê Rust 1.37

weşandin serbestberdana zimanê bernamesaziya pergalê Rûst 1.37, ji hêla projeya Mozilla ve hatî damezrandin. Ziman balê dikişîne ser ewlehiya bîranînê, rêveberiya bîranînê ya otomatîk peyda dike, û amûrek peyda dike ku meriv paraleliya peywira bilind bêyî karanîna berhevkarek çopê an dema xebitandinê peyda bike.

Rêvebiriya bîranîna otomatîkî ya Rust pêşdebiran ji manîpulasyona nîşankerê azad dike û li hember pirsgirêkên ku ji manîpulasyona bîranînê ya nizm derdikevin, wek gihandina bîranîna bêpere, veqetandinên nîşangirên betal, zêdekirina tampon û yên wekî wan diparêze. Rêvebirek pakêtê ji bo belavkirina pirtûkxaneyan, misogerkirina civîn û birêvebirina girêdanên ji hêla projeyê ve tê pêşve xistin. Bar, dihêle hûn pirtûkxaneyên ku ji bo bernameyê hewce ne bi yek klîk bistînin. Depoyek ji bo pirtûkxaneyên mêvandar tê piştgirî kirin crates.io.

sereke nûbûnên:

  • Di berhevkarê rustc de pêşkêş kirin piştgiriya ji bo xweşbîniyê li ser bingeha encamên profîla kodê (PGO, Optimîzasyona Rêvebir-Profîl),
    dihêle hûn li ser bingeha analîzkirina statîstîkên ku di dema darvekirina bernameyê de hatine berhev kirin kodek çêtirîn çêbikin. Ji bo afirandina profîlek, ala "-C-profîl-hilberandin" tê peyda kirin, û ji bo karanîna profîlê di dema berhevkirinê de - "-profîla-C-karanîna" (di destpêkê de, bername bi ala yekem ve tê berhev kirin, li dora xwe dimeşîne, û piştî afirandina profîl, ew bi ala duyemîn re ji nû ve hatî berhev kirin);

  • Dema ku emrê "kargo run", ya ku ji bo ceribandina bilez sepanên konsolê tê bikar anîn rehet e, heke di pakêtê de çend pelên îcrakar hebin, kapasîteya ku meriv bixweber pelek darvekirî ji bo xebitandinê hilbijêrin zêde bûye. Pela xwerû ya ku were darvekirin bi rêwerznameya xwerû ya ku di beşa [pakêtê] de bi parametreyên pakêtê ve tê destnîşankirin, ku dihêle hûn her gava ku hûn "kargo run" dimeşînin, bi eşkereyî navê pelê bi ala "-bin" diyar nekin;
  • Fermana "firoşkarê kargo", ku berê wekî hatî peyda kirin pakêta cuda. Ferman destûrê dide we ku hûn bi kopiyek herêmî ya girêdayîbûnê re kar birêxistin bikin - piştî ku hûn "firoşkerê bargiraniyê" bicîh bikin, hemî kodên çavkaniyê yên girêdayî projeyê ji crates.io berbi pelrêçek herêmî têne dakêşandin, ku dûv re dikare ji bo xebatê bêyî gihîştina kaxezan were bikar anîn. io (piştî pêkanîna fermanê, nîşanek ji bo guheztina veavakirinê tê xuyang kirin ku pelrêça ji bo avakirinan bikar bîne). Vê taybetmendiyê jixwe ji bo organîzekirina radestkirina berhevkarê rustc bi pakkirina hemî girêdanan di yek arşîvê de bi berdanê re tê bikar anîn;
  • Naha gengaz e ku meriv bi karanîna navên tîpan ve girêdanên vebijarkên hejmartinê çêbike (mînak, di laşê fonksiyona "fn increment_or_zero(x: ByteOption) de hûn dikarin "ByteOption::None => 0" diyar bikin), avahiyên hesabkirinê binivîsin (‹ MyType‹.. ››::option => N) an jî Xwe bigihînin (di blokên c & xwe de hûn dikarin “Self::Quarter => 25” diyar bikin);
  • Kapasîteya afirandina berdewamên bênav di makroyan de zêde kir. Li şûna ku hûn navê elementê di "const" de destnîşan bikin, hûn dikarin aniha karaktera "_" bikar bînin da ku bi dînamîk nasnameyek ne-dubarebar hilbijêrin, dema ku careke din bang li makroyê tê kirin ji nakokiyên navan dûr bikevin;
  • Qabiliyeta bikaranîna taybetmendiya "#[repr(align(N))" bi enums re bi hevoksaziyek mîna pênasekirina strukturek AlignN‹T› bi hevrêziyê û dûv re bi karanîna AlignN‹MyEnum› ve zêde kir;
  • Beşek nû ya API-yê hate veguheztin kategoriya stabîl, di nav de BufReader::buffer, BufWriter::buffer, û
    Hucre::from_mut,
    Hucre::wek_slice_of_cells,
    DoubleEndedIterator::nth_back,
    Vebijêrk::xor
    {i,u}{8,16,64,128,size}::berepaş_bits, Wrapping::berepaş_bits û
    slice::copy_inthin.

Wekî din, ew dikare were destnîşan kirin destpêkirina ceribandinê proje Async-std, ku guhertoyek asynkron a pirtûkxaneya standard Rust pêşkêşî dike (portek pirtûkxaneya std, ku tê de hemî navbeynkar di guhertoyek async de têne pêşkêş kirin û ji bo karanîna bi hevoksaziya async/wait amade ne).

Source: opennet.ru

Add a comment