Weşana Zimanê Bernamesaziyê Rust 1.67

Serbestberdana zimanê bernamesaziya gelemperî ya Rust 1.67, 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:

  • Ji bo fonksiyonên async ên bi Future::Output re, naha gengaz e ku meriv şîroveyên "#[must_use]" destnîşan bike ku heke nirxa vegerê paşguh bibe hişyariyek vedihewîne, ku ev jî dibe alîkar ku xeletiyên ku ji ber texmîna ku fonksiyon dê nirxan biguhezîne nas bike. ji bila nirxek nû vegerîne. #[must_use] async fn bar() -> u32 { 0 } async fn caller() { bar().await; } warning: derana nebikaranîna paşerojê ji hêla `bar` ve hatî vegerandin ku divê were bikar anîn —> src/lib.rs:5:5 | 5 | bar().await; | ^^^^^^^^^^^ | = not: `#[hişyarî(unused_must_use)]` ji hêla xwerû ve çalak e
  • Pêkanîna rêzên FIFO std::sync::mpsc (pir-hilberîner yek-serfkaran) hate nûve kirin, ku di dema domandina API-ya berê de hate guheztin ku modula crossbeam-kanala bikar bîne. Pêkanîna nû bi çareserkirina hejmarek pirsgirêkan, performansa bilindtir û domandina kodê ya sade tê veqetandin.
  • Parçeyek nû ya API-yê hate veguheztin kategoriya îstîqrar, di nav de rêbaz û pêkanînên taybetmendiyan hatine stabîlkirin:
    • {integer}::checked_ilog
    • {integer}::checked_ilog2
    • {integer}::checked_ilog10
    • {hejmar}::ilog
    • {hejmar}::ilog2
    • {hejmar}::ilog10
    • NonZeroU*::ilog2
    • NonZeroU*::ilog10
    • NonZero*::BITS
  • Taybetmendiya "const", ku îmkana karanîna wê di her çarçovê de li şûna domdar diyar dike, di fonksiyonan de tê bikar anîn:
    • char::from_u32
    • char::ji_hejmar
    • char::to_digit
    • core::char::from_u32
    • bingeh::char::ji_hejmar
  • Asta sêyem piştgirî ji bo karanîna Rust di kernel Linux (linuxkernel), û her weha ji bo Sony PlayStation 1 (mipsel-sony-psx), PowerPC bi AIX (powerpc64-ibm-aix), QNX Neutrino RTOS ( aarch64-nenas-nto-) platformên qnx710, x86_64-pc-nto-qnx710). 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.

Wekî din, em dikarin ji hêla ARM-ê ve weşandina paçên ku destûrê didin karanîna zimanê Rust ji bo pêşdebirina ajokar û modulên kernel Linux-ê yên ku ji bo pergalên li ser bingeha mîmariya AArch64 hatine berhev kirin, destnîşan bikin.

Source: opennet.ru

Add a comment