Weşana Zimanê Bernamesaziyê Rust 1.61

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

  • Mimkun e ku hûn kodên vegerê yên xwe ji fonksiyona sereke diyar bikin. Di eslê xwe de, fonksiyona sereke ya Rust tenê dikaribû tîpa "()" (yekîneyek) vegerîne, ku her gav statûyek derketinek serketî destnîşan dike heya ku pêşdebir bi eşkere navê fonksiyona "pêvajo::derketin(kod)" neke. Di Rust 1.26-ê de, di fonksiyona sereke de taybetmendiya Dawîkirinê ya bêîstiqrar bikar tîne, gengaz bû ku nirxên "Ok" û "Err", ku bi kodên EXIT_SUCCESS û EXIT_FAILURE re di bernameyên C de têkildar in vegerîne. Di Rust 1.61-ê de, taybetmendiya Dawîbûnê bi îstîqrar hatiye çêkirin, û celebek ExitCode-ya veqetandî hate pêşniyar kirin ku kodek vegerê ya taybetî temsîl bike, ku celebên vegerê yên taybet-platformê bi pêşkêşkirina her du berdewamên pêşwext SUCCESS û FAILURE, û rêbaza From vedihewîne. ji bo vegerandina kodek vegerê ya keyfî. std::pêvajo::ExitCode; fn main() -> ExitCode { if !check_foo() { return ExitCode::from(8); } Koda Derketin::SERKEFTIN }
  • Kapasîteyên zêde yên fonksiyonên ku bi karanîna îfadeya "const fn" hatine destnîşankirin hatine stabîlkirin, ku dikare ne tenê wekî fonksiyonên birêkûpêk were binav kirin, lê di her çarçovê de li şûna domdar jî were bikar anîn. Van fonksiyonan di dema berhevkirinê de têne hesibandin, ne di dema xebitandinê de, ji ber vê yekê ew di bin hin qedexeyan de ne, wek mînak kapasîteya xwendina tenê ji berdewaman. Di guhertoya nû de, operasyonên bingehîn ên bi nîşankerên fonksiyonê di hundurê fonksiyonên konst de têne destûr kirin (çêkirin, derbaskirin û avêtina nîşankeran destûr e, lê ne gazîkirina fonksiyonek bi nîşander); sînorên taybetmendiyê ji bo parametreyên giştî yên fonksiyonên konstê yên wekî T: Kopî; taybetmendiyên bi dînamîk veqetandî (dyn Trait); ji bo argumanên fonksiyonê û nirxên vegerê celebên taybetmendiyê yên impl.
  • Stêrk Stdin, Stdout û Stderr di std::io de bi rê ve dibe, dema ku girtî ye, êdî jiyanek statîk heye ("statîk") û destûrê dide çêkirinên mîna "let out = std::io::stdout().lock();" bi girtina destek û danîna kilîtekê di yek îfadeyê de.
  • Parçeyek nû ya API-yê hate veguheztin kategoriya îstîqrar, di nav de rêbaz û pêkanînên taybetmendiyan hatine stabîlkirin:
    • Pîne::static_mut
    • Pîne::static_ref
    • Vec::retain_mut
    • VecDeque::retain_mut
    • Ji bo Cursor binivîse
    • std::os::unix::net::SocketAddr::from_pathname
    • std::pêvajo::Code Derketin
    • std :: pêvajo :: Bidawîkirin
    • std::thread::JoinHandle::is_finished
  • Taybetmendiya "const", ku îmkana karanîna wê di her çarçovê de li şûna domdar diyar dike, di fonksiyonan de tê bikar anîn:
    • ::offset û ::offset
    • ::wrapping_offset û ::wrapping_offset
    • ::add û ::add
    • ::sub û ::sub
    • ::wrapping_add û ::wrapping_add
    • ::wrapping_sub û ::wrapping_sub
    • ::as_mut_ptr
    • ::as_ptr_range
    • ::as_mut_ptr_range

Wekî din, hûn dikarin gotara "Rust: Retrospektîfek Critical" bi kurteya bandorên zimanê Rust piştî nivîsandina 100 hezar rêzikên kodê di dema pêşkeftina pergala xebitandina mîkrokernel Xous de ku di firmware de hatî bikar anîn, binihêrin. Dezawantajên hevoksaziya dijwar-têgihîştinê, netemamî û pêşkeftina domdar a ziman, nebûna avahiyên dubarekirî, pirsgirêkên tîpîk ên bi pêbaweriya pêwendiyê li Crates.io, û hewcedariya domandina dîsîplînek diyarkirî ji bo nivîsandina koda ewledar vedigire. Taybetmendiyên ku ji bendewariyê derbas bûne amûrên ji bo nûvekirina kodê û ji nû ve xebitandina "hakên" ku di prototîpa bilez de hatine zêdekirin hene.

Source: opennet.ru

Add a comment