ipata 1.55 Siseto ede Tu

Itusilẹ ti ede siseto eto Rust 1.55, ti o da nipasẹ iṣẹ akanṣe Mozilla, ṣugbọn ni idagbasoke ni bayi labẹ awọn itusilẹ ti ominira ti kii ṣe èrè agbari Rust Foundation, ni a ti tẹjade. Ede naa dojukọ aabo iranti, pese iṣakoso iranti aifọwọyi, ati pese awọn ọna lati ṣaṣeyọri isọdọkan iṣẹ-ṣiṣe giga laisi lilo agbasọ idoti tabi akoko asiko (akoko asiko ti dinku si ipilẹṣẹ ipilẹ ati itọju ile-ikawe boṣewa).

Iṣakoso iranti aifọwọyi ti Rust yọkuro awọn aṣiṣe nigbati o ba n ṣakoso awọn itọka ati aabo lodi si awọn iṣoro ti o dide lati ifọwọyi iranti ipele kekere, gẹgẹ bi iraye si agbegbe iranti lẹhin ti o ti ni ominira, awọn ifọkasi ijuboluwole asan, awọn agbekọja buffer, ati bẹbẹ lọ. Lati kaakiri awọn ile-ikawe, rii daju apejọ ati ṣakoso awọn igbẹkẹle, iṣẹ akanṣe n dagbasoke oluṣakoso package Cargo. Ibi ipamọ crates.io jẹ atilẹyin fun awọn ile-ikawe alejo gbigba.

Awọn imotuntun akọkọ:

  • Oluṣakoso package ẹru ni agbara lati dapọ awọn aṣiṣe ẹda-iwe ati awọn ikilọ ti o waye lakoko kikọ kan. Nigbati o ba n ṣiṣẹ awọn aṣẹ bii “idanwo ẹru” ati “ayẹwo ẹru --gbogbo awọn ibi-afẹde” ti o ja si ni ọpọlọpọ awọn itumọ ti package pẹlu awọn aye oriṣiriṣi, olumulo ti han ni ṣoki ti iṣẹlẹ ti iṣoro atunwi, dipo ti a fihan. ọpọ ikilo aami nigba kikọ ohun kanna leralera. $ cargo +1.55.0 ayẹwo —gbogbo-afojusun Ṣiṣayẹwo foo v0.1.0 ikilọ: iṣẹ kii ṣe lo: 'foo' —> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = akọsilẹ: '#[kilọ (dead_code)]' lori nipasẹ ikilọ aiyipada: 'foo' (lib) ti ipilẹṣẹ ikilọ ikilọ 1: 'foo' (idanwo lib) ti ipilẹṣẹ 1 ikilọ (1 pidánpidán) Ipari dev [aiṣepe + debuginfo] ibi-afẹde (awọn) ni 0.84s
  • Koodu fifin aaye lilefoofo ni ile-ikawe boṣewa ni a ti gbe lati lo iyara ati deede diẹ sii Eisel-Lemire algorithm, eyiti o ti yanju diẹ ninu awọn iṣoro ti a ṣakiyesi tẹlẹ pẹlu awọn nọmba iyipo ati sisọ awọn nọmba pẹlu awọn nọmba ti o tobi pupọ ti awọn nọmba.
  • Agbara lati tokasi awọn sakani ti a ko tii ninu awọn awoṣe ti jẹ imuduro (“X..” ni itumọ bi iwọn kan ti o bẹrẹ pẹlu iye X ti o pari pẹlu iye ti o pọju ti odidi odidi): baramu x as u32 { 0 => println! ("odo!"), 1.. => println!("nọmba rere!"), }
  • Awọn iyatọ aṣiṣe ti o gbooro ti o bo nipasẹ std :: io :: AṣiṣeKind (ṣe iyasọtọ awọn aṣiṣe si awọn ẹka bii NotFound ati WouldBlock). Ni iṣaaju, awọn aṣiṣe ti ko ni ibamu si awọn ẹka ti o wa tẹlẹ ṣubu sinu ErrorKind :: Ẹka miiran, eyiti o tun lo fun awọn aṣiṣe ni koodu ẹni-kẹta. Ẹya ti inu lọtọ ti wa ni aṣiṣe aṣiṣe ti ko ni ibamu si awọn ẹka ti o wa, ati aṣiṣeKind :: Ẹka miiran ti ni opin si awọn aṣiṣe ti ko waye ni ile-ikawe boṣewa (awọn iṣẹ ikawe boṣewa ti o pada io :: Aṣiṣe). ko si ohun to lo ErrorKind :: ẹka Miiran).
  • Apa tuntun ti API ni a ti gbe si ẹka ti iduroṣinṣin, pẹlu awọn ọna ati awọn imuse ti awọn abuda ti jẹ imuduro:
    • Ti dè :: cloned
    • Sisan :: as_str
    • SinuInnerError :: sinu_aṣiṣe
    • SinuInnerError :: sinu_awọn ẹya ara
    • Boya Uninit :: ro pe_init_mut
    • Boya Uninit :: ro pe_init_ref
    • Boya Uninit :: kọ
    • orun :: maapu
    • ops :: ControlFlow
    • x86 :: _bittest
    • x86 :: _bittesandcomplement
    • x86 :: _bittestandreset
    • x86 :: _bittesstandset
    • x86_64 :: _bittest64
    • x86_64 :: _bittestandcomplement64
    • x86_64 :: _bittestandreset64
    • x86_64 :: _bittesandset64
  • Ẹya “const”, eyiti o pinnu iṣeeṣe ti lilo ni eyikeyi ipo dipo awọn iduro, ni a lo ni ọna str :: from_utf8_unchecked.
  • Ipele kẹta ti atilẹyin ti ni imuse fun powerpc64le-unknown-freebsd Syeed. Ipele kẹta jẹ atilẹyin ipilẹ, ṣugbọn laisi idanwo adaṣe, titẹjade awọn ile-iṣẹ osise, tabi ṣayẹwo boya koodu naa le kọ.

orisun: opennet.ru

Fi ọrọìwòye kun