Rust 1.37 Fa'apolokalame Gagana Fa'asa'oloto

lomia faasalalau fa'asa'olotoga gagana polokalame Ele 1.37, na faavaeina e le poloketi Mozilla. O le gagana e taulaʻi i le saogalemu o manatuaga, e maua ai le pulega otometi manatua, ma maua ai se auala e ausia ai le maualuga o galuega tutusa e aunoa ma le faʻaogaina o le lapisi poʻo le taʻavale.

Ole pulega otometi a le Rust e fa'asa'olotoina ai le tagata e faia le fa'aogaina o le fa'asinomaga ma puipuia mai fa'afitauli e tula'i mai i le fa'aogaina o mafaufauga maualalo, e pei ole fa'aogaina ole manatua e leai se totogi, fa'aletonu le fa'asinoala, fa'alavelave fa'alavelave, ma isi mea faapena. O lo'o fa'atupuina se pule o pusa e tufatufa faletusi, fa'amautinoa le fa'apotopotoina ma fa'afoe fa'alagolago e le poloketi. uta, e mafai ai ona e mauaina faletusi e manaʻomia mo le polokalame i le kiliki e tasi. E lagolagoina se fale teu oloa e talimalo ai faletusi crates.io.

tele mea fou:

  • I le rustc compiler saunia lagolago mo le fa'ata'ita'iina e fa'atatau i fa'ai'uga fa'ailoga (PGO, Fa'atonu-Ta'ita'ia Fa'amatalaga),
    fa'atagaina oe e fa'atupuina fa'ailoga sili ona lelei e fa'atatau i le au'ili'iliga o fuainumera fa'aputuina i le fa'atinoga o polokalame. Ina ia fatuina se talaaga, o le "-C profile-generate" fuʻa ua tuʻuina atu, ma faʻaaoga le faʻamatalaga i le taimi o le faʻapotopotoga - "-C profile-faʻaoga" (muamua, o le polokalama e faʻapipiʻi ma le fuʻa muamua, taʻavale solo, ma pe a uma ona faia. o le talaaga, ua toe tuufaatasia ma le fuʻa lona lua);

  • Pe a faʻatinoina le faʻatonuga o le "cargo run", lea e faigofie ona faʻaoga mo le faʻataʻitaʻiina vave o talosaga faʻamafanafanaga, ua faʻaopoopoina le mafai e filifili otometi se faila faila e tamoe pe a iai ni faila faʻapipiʻi i totonu o le afifi. O le faila le aoga e faʻatinoina e faʻamoemoeina e ala i le faʻatonuga le faʻaogaina i le vaega [package] faʻatasi ai ma faʻamaufaʻailoga afifi, lea e mafai ai ona e aloese mai le faʻamaonia manino o le igoa o le faila e ala i le fuʻa "-bin" i taimi uma e te taʻavale ai le "cargo run";
  • O le fa'atonuga o le "fa'atau oloa", na tu'uina atu muamua e pei o afifi ese. O le faʻatonuga e faʻatagaina oe e faʻatulagaina galuega ma se kopi faʻapitonuʻu o faʻalagolago - a maeʻa ona faʻatinoina le "faʻatau oloa", o faʻamaumauga uma o faʻalagolago i le poloketi e sii mai i luga o le crates.io i se lisi faʻapitonuʻu, lea e mafai ona faʻaaogaina mo galuega e aunoa ma le mauaina o pusa. io (pe a uma ona faʻatinoina le faʻatonuga, o se faʻamatalaga mo le suia o le faʻatulagaina o loʻo faʻaalia e faʻaaoga ai le lisi mo le fausiaina). O lenei vaega ua uma ona faʻaaogaina e faʻatulaga ai le tuʻuina atu o le rustc compiler ma le afifiina o faʻalagolago uma i totonu o le tasi faʻamaumauga ma le faʻamalolo;
  • Ua mafai nei ona faia ni feso'ota'iga i filifiliga enum e fa'aaoga ai igoa fa'aigoa (mo se fa'ata'ita'iga, i totonu o le tino o le galuega "fn increment_or_zero(x: ByteOption) e mafai ona e fa'amaonia "ByteOption :: Leai => 0"), fa'asologa fa'asologa (‹ MyType‹.. ››::option => N) poʻo le tagata lava ia avanoa (i poloka c &self e mafai ona e faʻamaonia le "Self::Quarter => 25");
  • Fa'aopoopoina le tomai e fai ai fa'amaumau e le ta'ua igoa i macros. Nai lo le faʻamalamalamaina o le igoa elemene i le "const", e mafai nei ona e faʻaogaina le "_" amio e filifili malosi ai se faʻamatalaga e le toe faia, aloese mai feeseeseaiga igoa pe a toe valaʻau le macro;
  • Fa'aopoopo le tomai e fa'aoga ai le uiga "#[repr(N))" fa'atasi ma enums e fa'aaoga ai se fa'asologa e tutusa ma le fa'amalamalamaina o se fausaga AlignN‹T› fa'atasi ma fa'aoga le AlignN‹MyEnum›;
  • O se vaega fou o le API ua siitia i le vaega mautu, e aofia ai le BufReader::buffer, BufWriter::buffer, ma
    Cell::from_mut,
    Cell::e pei o_slice_of_cells,
    DoubleEndedIterator::nth_back,
    Filifiliga::xor
    {i,u}{8,16,64,128, lapopo'a}::fa'ailoga_fa'asolo, afifi::fa'afa'i ma
    fasi::copy_within.

E le gata i lea, e mafai ona matauina amata ole su'ega le poloketi Async-std, lea e ofoina atu ai se fesuiaiga e le tutusa o le Rust standard library (o se uafu o le faletusi std, lea e ofoina uma ai fesoʻotaʻiga i se async version ma ua sauni mo le faʻaogaina ma le async/wait syntax).

puna: opennet.ru

Faaopoopo i ai se faamatalaga