Weşana Zimanê Bernamesaziyê Rust 1.62

Serbestberdana zimanê bernamesaziya gelemperî ya Rust 1.62, ku ji hêla projeya Mozilla ve hatî damezrandin, lê naha di bin banê rêxistina ne-qezenc a serbixwe Rust Foundation de hatî pêşve xistin, hate weşandin. Ziman balê dikişîne ser ewlehiya bîranînê û amûran peyda dike ku bigihîje paraleliya kar a bilind dema ku ji karanîna berhevkarek çopê û dema xebitandinê dûr dikeve (dema xebitandinê ji destpêkirina bingehîn û domandina pirtûkxaneya standard re kêm dibe).

Rêbazên birêkûpêkkirina bîranîna Rust pêşdebiran ji xeletiyan di dema manîpulekirina nîşankeran de diparêze û li hember pirsgirêkên ku ji ber destwerdana bîranîna nizm çêdibin diparêze, wek gihandina cîhek bîranînê piştî ku ew azad bû, jêbirina nîşangirên betal, zêdekirina tampon û hwd. Ji bo belavkirina pirtûkxaneyan, peydakirina avahî û birêvebirina pêwendiyan, proje rêveberê pakêtê Cargo pêşve dike. Depoya crates.io ji bo pirtûkxaneyên mêvandar têne piştgirî kirin.

Ewlehiya bîranînê di Rust de di dema berhevkirinê de bi kontrolkirina referansê, şopandina xwedîtiya tiştan, şopandina heyamên tiştan (çarçove), û nirxandina rastbûna gihîştina bîranînê di dema darvekirina kodê de tê peyda kirin. Rust di heman demê de parastina li dijî hejmarên bêkêmasî peyda dike, berî karanîna pêdivî bi destpêkirina mecbûrî ya nirxên guhêrbar hewce dike, di pirtûkxaneya standard de xeletiyan çêtir digire, têgeha referansên neguhêrbar û guhêrbar ji hêla xwerû ve bicîh tîne, tîpkirina statîk a bihêz pêşkêşî dike da ku xeletiyên mantiqî kêm bike.

Nûvekirinên sereke:

  • Rêvebirê pakêtê "kargo" fermana "lê zêde bike" pêşkêşî dike, ku dihêle hûn pêwendiyên nû li manîfestoya Cargo.toml zêde bikin an jî girêdanên heyî ji rêzika fermanê biguhezînin. Ferman di heman demê de dihêle hûn taybetmendî û guhertoyên kesane diyar bikin, mînakî: bar lê zêde bike serde — taybetmendî ji kargoyê zêde bike nom@5
  • Kapasîteya karanîna "#[derive(Default)]" bi enumên ku tê de vebijarka xwerû bi karanîna taybetmendiya "#[default]" tête diyar kirin zêde kir. #[derve(dervekirî)] enum Dibe { #[default] Tiştek, Tiştek (T), }
  • Li ser platforma Linux-ê, li ser bingeha karanîna futexên ku ji hêla kernel Linux ve têne peyda kirin, pêkanîna mekanîzmaya hevdengkirina Mutex-ê tevlihevtir û zûtir tê bikar anîn. Berevajî pêkanîna berê ku li ser bingeha pirtûkxaneya pthreads hatî bikar anîn, guhertoya nû ji bo hilanîna dewleta Mutex li şûna 5 byte tenê 40 byte bikar tîne. Bi heman awayî mekanîzmayên girtina Condvar û RwLock ji futex re hatine veguheztin.
  • Asta duyemîn a piştevaniyê ji bo platforma armancê x86_64-nenas-nenas hate bicîh kirin, ku ji bo hilberandina pelên îcrakar ên ku dikarin bêyî pergala xebitandinê bixebitin hatî çêkirin. Mînakî, dema ku pêkhateyên kernelê dinivîsin, platforma armancê ya diyarkirî dikare were bikar anîn. Asta duyemîn a piştgiriyê garantiya meclîsê vedigire.
  • Asta sêyemîn a piştgiriyê ji bo platformên aarch64-pc-windows-gnullvm û x86_64-pc-windows-gnullvm hatîye bicîh kirin. Asta sêyemîn piştgirîya bingehîn digire, lê bêyî ceribandina otomatîk, weşandina avahiyên fermî, an kontrolkirina ka kod dikare were çêkirin.
  • Parçeyek nû ya API-yê hate veguheztin kategoriya îstîqrar, di nav de rêbaz û pêkanînên taybetmendiyan hatine stabîlkirin:
    • bool:: then_some
    • f32:: total_cmp
    • f64:: total_cmp
    • Stdin:: xetên
    • windows::CommandExt::raw_arg
    • impl nirxa xwerû ji bo AssertUnwindSafe
    • Ji > ji bo Rc
    • Ji > ji bo Arc<[u8]>
    • FusedIterator ji bo EncodeWide

    Source: opennet.ru

Add a comment