Rust 1.36 Famoahana ny fiteny fandaharana

MIVOAKA famotsorana ny fiteny fandaharana amin'ny rafitra Harafesina 1.36, naorin'ny tetikasa Mozilla. Mifantoka amin'ny fiarovana ny fitadidiana ilay fiteny, manome fitantanana fitadidiana mandeha ho azy, ary manome fitaovana hanatrarana ny fitovizan'asa avo lenta nefa tsy mampiasa mpanangom-pako na fotoana fiasana.

Ny fitantanana fahatsiarovana mandeha ho azy an'i Rust dia manafaka ny mpamorona amin'ny fanodinkodinana pointer ary miaro amin'ny olana ateraky ny fanodinkodinana fahatsiarovana ambany, toy ny fidirana tsy misy fitadidiana aorian'ny fahatsiarovan-tena, ny tsy fahampian'ny pointer tsy misy dikany, ny fihoaran'ny buffer, sy ny toy izany. Misy mpitantana fonosana novolavolaina mba hizarana tranomboky, hiantohana ny fivoriambe ary hitantanana ny fiankinan-doha amin'ny tetikasa. entana, ahafahanao mahazo ny tranomboky ilaina amin'ny programa amin'ny tsindry iray. Misy tahiry iray tohanana mba hampiantranoana tranomboky crates.io.

tena fanavaozana:

  • Niorina ny toetra Future, izay maneho sanda izay mety mbola tsy vita ny fanombanana raha mampiasa sakana async / .await. Ny soatoavina asynchronous voafaritra amin'ny fampiasana ny Future dia ahafahana manohy manatanteraka asa mahasoa amin'ny kofehy, ary miandry ny fahavitan'ny kajy amin'ny sanda iray;
  • Nilamina ny tranomboky alloc, izay manome tondro marani-tsaina sy fanangonana ho an'ny fitantanana ny soatoavina omena fahatsiarovana. Ny fizarana fahatsiarovana amin'ny std dia mampiasa ny karazana veΔ‡, izay averina aondrana avy amin'ny alloc. Ny fampiasana misaraka amin'ny alloc dia misy dikany amin'ny fampiharana tsy mifamatotra amin'ny std ("#![no_std]"), ary koa ao amin'ny tranomboky natao hampiasaina amin'ny programa mitovy tsy misy std;
  • Mba hialana amin'ny fisavana amin'ny fanombohana marina ny soatoavina AZO karazana intermediate MaybeUnit, izay azo ampiasaina ho solon'ny asa mem::uninitialized ho safidy azo antoka kokoa. Ny asa mem :: uninitialized dia mety amin'ny famoronana haingana ny arrays, fa mamitaka ny compiler satria toa efa natomboka izy io, fa raha ny marina dia mijanona ho tsy fantatra ny sandany. Ny MaybeUninit dia ahafahanao manondro mazava tsara amin'ny mpanangona fa ny sandany dia tsy voamarika, amin'ny fiheverana ny mety ho fihetsika tsy voafaritra mifandraika amin'izany, ary koa ny mandrindra ny fisavana amin'ny programa amin'ny alΓ lan'ny "maybe_t:" sy ny fanombohana tsikelikely, manamarika ny fahavitan'izany. mampiasa ny antso ".assume_init()". Miaraka amin'ny fahatongavan'ny MaybeUninit, ny mem::uninitialized function dia tsy ampiasaina ary tsy asaina ampiasaina;
  • Ny teknikan'ny NLL (Non-Lexical Lifetimes), izay nanitatra ny rafitra ho an'ny firaketana ny androm-piainan'ny varimbazaha nindramina, dia naorina ho an'ny fiteny Rust 2015 (tamin'ny voalohany, Rust 2018 ihany no nanohana ny NLL). Raha tokony hanao ny androm-piainana eo amin'ny ambaratonga leksika, ny NLL dia manao izany eo amin'ny ambaratongan'ny tondro amin'ny kisary fikorianan'ny famonoana. Ity fomba ity dia ahafahanao mampitombo ny kalitaon'ny fanamarinana ny fampindramam-bola (mindram-bola) ary mamela ny fanatanterahana ny karazana fehezan-dalΓ na sasany, ny fampiasana izay nitarika ny fahadisoana teo aloha. Ny fitondran-tena vaovao koa dia manamora kokoa ny debugging;
  • Tafiditra ao anatin'izany ny fampiharana vaovao ny arrays associative HashMap, mifototra amin'ny fampiharana ny rafitra Soisa Table (voatan'ny mandeha ho azy hashbrown ::HashMap, raha tsy hoe voalaza mazava hafa, toy ny std::HashMap, izay mifototra amin'ny SipHash 1-3). Ny interface interface dia tsy miova, ary ny fahasamihafana hita amin'ny developer dia midina amin'ny fampitomboana ny fampisehoana sy ny fihenan'ny fanjifana fahatsiarovana;
  • Ao amin'ny fonosana mpitantana entana nanampy ny safidy "--offline", izay ahafahana miasa nefa tsy miditra amin'ny tambajotra, izay fonosana voatahiry ao amin'ny rafitra eo an-toerana ihany no ampiasaina rehefa mametraka fiankinan-doha. Raha tsy ao amin'ny cache eo an-toerana ny fiankinan-doha dia hisy hadisoana hatsipy. Mba hampidirana mialoha ny fiankinan-doha ao amin'ny cache eo an-toerana alohan'ny handehanana an-tserasera, azonao atao ny mampiasa ny baiko "famoahana entana";
  • Nampihatra ny fahafahana miantso ny macro "dbg!" manondro hevitra maromaro;
  • Ny toetra "const", izay mamaritra ny fahafahana mampiasa amin'ny toe-javatra rehetra fa tsy constants, dia ampiasaina amin'ny fomba.
    Layout :: from_size_align_unchecked,
    mem::mila_drop,
    NonNull :: mihantona ary
    NonNull::cast;

  • Ampahany vaovao amin'ny API no nafindra ho amin'ny sokajy stable, ao anatin'izany ny fomba niorina
    asa::Waker, asa::Poll,
    VecDeque:: rotate_left, VecDeque:: rotate_right,
    Vakio::vakio_vectored, Soraty::soratra_vectored,
    Mpanoratra:: adika,
    BorrowMut (ho an'ny tady) ary str::as_mut_ptr.

Source: opennet.ru

Add a comment