Rust 1.34 Fa'apolokalame Gagana Fa'asa'oloto

na tupu fa'asa'olotoga gagana polokalame Ele 1.34, atiina ae 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:

  • Ua faaopoopo e le pule o pusa uta mea faigaluega e galulue ai ma isi resitala afifi e mafai ona ola faatasi ma le crates.io resitala lautele. Mo se faʻataʻitaʻiga, ua mafai nei e le au atiaʻe o talosaga faʻapitoa ona faʻaogaina a latou lava resitala tumaoti, lea e mafai ona faʻaogaina pe a lisiina faʻalagolago i Cargo.toml, ma faʻaoga se faʻataʻitaʻiga faʻataʻitaʻiga e tutusa ma crates.io mo a latou oloa, faʻapea foʻi ma faʻatatau i faʻalagolago i pusa uma e lua. io ma lau lava resitala.

    Le fa'aopoopoina o resitara i fafo i le .cargo/config (o lo'o i totonu o le $HOME po'o totonu o le fa'asologa o afifi)
    saunia vaega "[resitala]", ma le faaaogaina o se resitala i fafo, o le "resitala" filifiliga ua aliali mai i le faamatalaga o faalagolago taitasi i Cargo.toml. Ina ia faʻafesoʻotaʻi i se resitala faʻaopoopo, naʻo le tuʻu o le faʻamaoniga faʻamaonia i le ~/.cargo/credentials faila ma faʻatautaia le poloaiga
    "cargo login --registry=my-registry" ma fa'asalalau se afifi -
    "cargo publish -registry=my-registry";

  • Fa'aopoopoina le lagolago atoatoa mo le fa'aogaina o le "?" operator. i suega a'oa'oga, fa'atagaina oe e fa'aoga fa'ata'ita'iga fa'ailoga mai fa'amaumauga e fai ma su'ega. Fa'atonu muamua
    "?" e mafai ona fa'aoga e taulima ai mea sese i le taimi o le su'ega na'o le i ai o le "fn main()" galuega po'o le "#[test]" galuega;

  • I uiga fa'ale-aganu'u ua fa'amatalaina e fa'aaoga ai macros fa'asologa saunia le mafai ona fa'aoga seti fa'ailoga (#[attr($tokens)]", “#[attr[$tokens]] ma #[attr{$tokens}]”). I le taimi muamua, e mafai ona faʻamaonia elemene i se laʻau / recursive fomu e faʻaaoga ai le manoa, mo se faʻataʻitaʻiga "#[foo(bar, baz(quux, foo = "bar"))]", ae o lea ua mafai ona faʻaaoga faʻamaumauga (' #[range(0. .10)]') ma fausaga e pei o le “#[bound(T: MyTrait)]”;
  • Ituaiga mautu (uiga) TaumafaiMai и TaumafaiIto, fa'atagaina le fa'aliliuina o ituaiga ma le fa'afoeina o mea sese. Mo se faʻataʻitaʻiga, o metotia e pei o from_be_bytes faʻatasi ai ma ituaiga numera e faʻaaoga ai faʻasologa e fai ma faʻaoga, ae o faʻamatalaga e masani ona sau i se ituaiga Slice, ma o le faʻaliliuina i le va o faʻasologa ma fasi pepa e faʻafitauli e fai ma le lima. Faatasi ai ma le fesoasoani o uiga fou, e mafai ona faia le gaioiga faʻapitoa i luga o le lele e ala i se valaau i .try_into (), mo se faʻataʻitaʻiga, "let num = u32:: from_be_bytes(slice.try_into()?)". Mo suiga e manuia i taimi uma (mo se faʻataʻitaʻiga, mai le ituaiga u8 i le u32), ua faʻaopoopoina se ituaiga faʻaletonu Faʻaletonu, fa'atagaina le fa'aogaina manino
    TryFrom mo fa'atinoga uma o iai o le "Mai";

  • Ua le toe fa'aaogaina CommandExt::before_exec, lea na fa'ataga ai le fa'atonu e fa'atino a'o le'i fa'atinoina le exec, lea na fa'ataunu'uina i le tulaga o le fa'agasologa o le tamaititi na tu'u ina ua mae'a le vala'au (). I lalo o ia tulaga, o nisi punaoa o le faagasologa o matua, e pei o faila faila ma nofoaga e manatua ai faafanua, e mafai ona faaluaina, lea e mafai ona taitai atu ai i amioga le faʻamalamalamaina ma le le saʻo o le faʻaogaina o faletusi.
    E fautuaina e faʻaaoga se galuega le saogalemu nai lo before_exec CommandExt::pre_exec.

  • Tu'aiga fa'atotonuga fa'atotonu fa'amauina ma le fa'ailogaina e amata mai le lapopo'a mai le 8 i le 64 bits (mo se fa'ata'ita'iga, AtomicU8), fa'apea fo'i ituaiga saini NonzeroI[8|16|32|64|128].
  • O se vaega fou o le API ua siitia i le vaega mautu, e aofia ai le Any::type_id, Error::type_id, slice::sort_by_cached_key, str::sola_*, str::split_ascii_whitespace, Instant::checked_[add|sub ] ma le SystemTime auala ua fa'amautuina ::checked_[add|sub]. O le iter::from_fn ma le iter::sucessors functions ua mautu;
  • Mo ituaiga numera uma, o le siaki_pow, saturating_pow, wrapping_pow ma overflowing_pow ua fa'atinoina;
  • Faʻaopoopo le gafatia e faʻamalosia ai faʻataʻitaʻiga i le tulaga fesoʻotaʻiga e ala i le faʻamaonia o le "-C linker-plugin-lto" fausia filifiliga.

puna: opennet.ru

Faaopoopo i ai se faamatalaga