Weşana Zimanê Bernamesaziyê Rust 1.55

Serbestberdana zimanê bernamesaziya pergalê Rust 1.55, 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ê, rêveberiya bîranînê ya otomatîkî peyda dike, û amûran peyda dike ku meriv paraleliya peywira bilind bêyî karanîna berhevkarek çopê an dema xebitandinê peyda bike (dema xebitandinê ji destpêkirina bingehîn û domandina pirtûkxaneya standard re kêm dibe).

Rêvebiriya bîranîna otomatîkî ya Rust di dema manîpulekirina nîşankeran de xeletiyan ji holê radike û li hember pirsgirêkên ku ji manîpulasyona bîranînê ya nizm derdikevin diparêze, wek mînak gihîştina herêmek bîranînê piştî ku ew azad bû, veqetandinên nîşangirên betal, zêdekirina tampon, hwd. Ji bo belavkirina pirtûkxaneyan, misogerkirina civîn û 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.

Nûvekirinên sereke:

  • Rêvebirê pakêtê Cargo xwedan şiyana ku xeletî û hişyariyên dubare yên ku di dema çêkirinê de çêdibin yek bike. Dema ku emrên wekî "ceribandina bargiran" û "kontrolkirina bargiran --hemû-hedef" ku di encamê de gelek avakirina pakêtek bi parametreyên cihêreng diqewimin, naha li şûna ku were xuyang kirin, kurteyek ji rûdana pirsgirêkek dubare nîşan dide bikarhêner. gelek hişyariyên yeksan dema ku heman tişt çend caran têne çêkirin. pel. $ cargo +1.55.0 check —hemû-mebest Kontrolkirina foo v0.1.0 hişyarî: fonksiyon qet nayê bikar anîn: 'foo' —> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = not: '#[warn(dead_code)]' bi hişyariya xwerû: 'foo' (lib) 1 hişyariya hişyariyê çêkir: 'foo' (lib test) 1 hişyarî çêkir (1 dubare) Dev qedand [neoptimized + debuginfo] hedef (s) di 0.84s
  • Di pirtûkxaneya standard de koda parskirina xala herikînê hate guheztin da ku algorîtmaya Eisel-Lemire ya zûtir û rasttir bikar bîne, ya ku hin pirsgirêkên berê hatine dîtin bi dor û parkirina hejmarên bi hejmarên pir mezin re çareser kiriye.
  • Qabiliyeta diyarkirina rêzikên negirtî di şablonan de hatiye stabîlkirin (“X..” wekî rêzek ku bi nirxa X dest pê dike û bi nirxa herî zêde ya tîpa jimareyê diqede tê şîrove kirin): x wek u32 { 0 => println! ("sifir!"), 1.. => println!("hejmara erênî!"), }
  • Guhertoyên çewtiyên berfirehkirî yên ku ji hêla std::io::ErrorKind ve hatine vegirtin (çewtiyan li kategoriyên wekî NotFound û WouldBlock dabeş dike). Berê, xeletiyên ku di kategoriyên heyî de ne dikevin kategoriya ErrorKind::Other, ku ji bo xeletiyên di koda sêyemîn de jî dihat bikar anîn. Niha kategoriyek navxweyî ya cihê heye ErrorKind::Ji bo xeletiyên ku di kategoriyên heyî de cih nagirin bêkategorîzekirin, û ErrorKind::Kategoriya din bi xeletiyên ku di pirtûkxaneya standard de çênabin ve sînorkirî ye (fonksiyonên pirtûkxaneya standard ên ku io::Çewtî vedigerin êdî ErrorKind:: kategoriya Din bikar neynin).
  • Parçeyek nû ya API-yê hate veguheztin kategoriya îstîqrar, di nav de rêbaz û pêkanînên taybetmendiyan hatine stabîlkirin:
    • Girêdayî::klonkirin
    • Drain::as_str
    • IntoInnerError::into_error
    • IntoInnerError::nav_parts
    • DibeUninit::assume_init_mut
    • DibeUninit::assume_init_ref
    • DibeUninit::nivîsandin
    • array::nexşe
    • ops::ControlFlow
    • x86::_bittest
    • x86::_bittestandcomplement
    • x86::_bittestandreset
    • x86::_bittestandset
    • x86_64::_bittest64
    • x86_64::_bittestandcomplement64
    • x86_64::_bittestandreset64
    • x86_64::_bittestandset64
  • Taybetmendiya "const", ku îmkana bikaranîna wê di her çarçovê de li şûna sabitan diyar dike, di rêbaza str::from_utf8_uncheked de tê bikar anîn.
  • Asta sêyemîn a piştevaniyê ji bo platforma powerpc64le-nenas-freebsd hatî 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.

Source: opennet.ru

Add a comment