Rust 1.64 Fa'apolokalame Gagana Fa'asa'oloto

O le faʻasaʻolotoina o le gagana faʻapolokalame faʻamoemoe lautele Rust 1.64, faʻavaeina e le poloketi Mozilla, ae o lea ua atiaʻe i lalo o le faʻauluuluga a le faʻalapotopotoga tutoatasi e leai ni tupe mama Rust Foundation, ua lomia. O le gagana o loʻo taulaʻi i le saogalemu o manatuaga ma maua ai le auala e ausia ai le maualuga maualuga i le faʻatinoina o galuega, aʻo aloese mai le faʻaogaina o le lapisi lapisi ma le taʻavale (ua faʻaitiitia le taimi i le amataga ma le tausiga o le faletusi masani).

O auala e pulea ai manatuaga a Rust e fa'asa'oloto ai le tagata atia'e mai mea sese o le fa'aogaina o fa'ailoga ma puipuia mai fa'afitauli e tula'i mai i le fa'aogaina o mafaufauga maualalo, e pei o avanoa e leai se totogi, fa'aletonu le fa'asinomaga, fa'amama fa'alavelave, ma mea faapena. Ina ia tufatufaina faletusi, faʻamautinoa le faʻapipiʻiina ma pulea faʻalagolago, o le poloketi o loʻo atiaʻe le pule o pusa uta. O le crates.io repository e lagolagoina mo le talimalo faletusi.

O le saogalemu o manatuaga e fa'amalosia i le Rust i le taimi fa'aopoopo e ala i le siakiina o fa'asinomaga, su'esu'eina o mea e umia, iloiloga o mea i le olaga atoa (scoping), ma le iloiloga o le avanoa e manatua ai i le taimi. E maua ai foi e le ele le puipuiga mai le tele o numera, e manaʻomia ai le faʻavaeina o tau fesuiaʻi aʻo leʻi faʻaaogaina, e sili atu le taulimaina o mea sese i totonu o le faletusi masani, faʻaaogaina le manatu o faʻamatalaga e le mafai ona suia ma fesuiaiga e ala i le le mafai, ma ofoina atu le malosi o le taina e faʻaitiitia ai mea sese.

Autu fa'afouga:

  • Fa'ateleina o mana'oga mo le siosiomaga Linux i le compiler, le Cargo package manager, ma le standard library libstd, ua si'itia mana'oga maualalo mo Glibc mai le version 2.11 i le 2.17, ma o kernels Linux Mai le lomiga 2.6.32 i le 3.2. E faŹ»atatau foŹ»i nei faŹ»atapulaŹ»aga i polokalama faŹ»atino a le Rust ua fausia i le libstd. O le RHEL 7, SLES 12-SP5, ma isi tufatufaga e tausisia manaŹ»oga fou. Debian 8 ma Ubuntu 14.04. O le a faamutaina le lagolago mo le RHEL 6, SLES 11-SP4, Debian 7 ma Ubuntu 12.04. Mo tagata fa'aoga e fa'aogaina le Rust toolchain-built executables i siosiomaga e iai se kernel tuai Linux, e fautuaina e faŹ»aleleia a latou polokalama, tumau i lomiga tuai o le compiler, pe tausia tutoŹ»atasi a latou lava lala libstd faŹ»atasi ai ma interlayers e faŹ»atumauina ai le fetaui.

    O se tasi o mafuaŹ»aga o le mutaaga o le lagolago mo ē matutua Linux-ua ta'ua e faiga fa'avae ni punaoa fa'atapula'a mo le fa'aauauina o le fa'atumauina o le fetaui ma siosiomaga tuai. O le lagolago mo Glibc tuai e mana'omia ai le fa'aogaina o meafaigaluega tuai pe a siakiina i totonu o le faiga fa'apipi'i faifai pea, ona o le fa'ateleina o mana'oga o lomiga mo le LLVM ma meafaigaluega fa'apipi'i fa'atasi. O le fa'ateleina o mana'oga o le lomiga o le kernel e mafua mai i le mafai ona fa'aogaina ni vala'au fou o le faiga i le libstd e aunoa ma le mana'omia e tausia ni tagata e fesoasoani e fa'amautinoa le fetaui ma kernel tuai.

  • O le uiga o le IntoFuture ua faŹ»amautuina, e pei o le IntoIterator, ae e ese mai le mea mulimuli e ala i le faŹ»aogaina o le ".await" nai lo le "mo ... i le ..." matasele. A tu'ufa'atasia ma IntoFuture, o le upu ".await" e mafai ona fa'amoemoe e le gata o se uiga i le Lumanai, ae fa'apea fo'i ma isi ituaiga e mafai ona liua i se Lumana'i.
  • Ole fa'aogaina ole su'esu'e ale o lo'o aofia i le aoina o mea fa'aoga e tu'uina atu i fa'amaumauga a le Rust. O lo'o avanoa fo'i le fa'aoga mo le fa'apipi'iina o le rustup (rustup component add rust-analyzer).
  • O le pule o pusa uta e aofia ai le tofi avanoa faigaluega e faŹ»aumatia ai le toe faŹ»aluaina o tulaga taua masani i le va o afifi, e pei o Rust versions ma URL teu oloa. Fa'aopoopoina fo'i le lagolago mo le fau mo le tele o tulaga fa'atatau i le taimi e tasi (e mafai nei ona e fa'ama'oti le sili atu ma le tasi le parakalafa i le "--target" filifiliga).
  • O se vaega fou o le API ua siitia i le vaega o fale mautu, e aofia ai metotia ma faŹ»atinoga o uiga ua faŹ»amautuina:
    • lumanai::IntoFuture
    • num::NonZero*::checked_mul
    • numera::NonZero*::checked_pow
    • num::NonZero*::saturating_mul
    • numera::NonZero*::saturating_pow
    • numera::NonZeroI*::abs
    • num::NonZeroI*::checked_abs
    • numera::NonZeroI*::taumafa_abs
    • num::NonZeroI*::saturating_abs
    • num::NonZeroI*::unsigned_abs
    • num::NonZeroI*::wrapping_abs
    • num::NonZeroU*::checked_add
    • num::NonZeroU*::checked_next_power_of_two
    • num::NonZeroU*::saturating_add
    • os::unix::process::CommandExt::process_group
    • os::windows::fs::FileTypeExt::is_symlink_dir
    • os::windows::fs::FileTypeExt::is_symlink_file
  • C-fesoasoani ituaiga, na faŹ»amautu muamua i le std :: ffi module, ua faŹ»aopoopoina i le autu ma le faletusi alloc:
    • autu::ffi::CStr
    • autu::ffi::FromBytesWithNulError
    • alloc::ffi::CString
    • alloc::ffi::FromVecWithNulError
    • alloc::ffi::IntoStringError
    • alloc::ffi::NulError
  • C ituaiga na fa'amautu muamua i le std :: os :: raw module ua fa'aopoopoina i le autu :: ffi ma std :: ffi modules (mo se faŹ»ataŹ»itaŹ»iga, c_uint ma c_ulong ituaiga ua faŹ»atulagaina mo uint ma ulong C ituaiga):
    • ffi::c_char
    • ffi::c_double
    • ffi::c_float
    • ffi::c_int
    • ffi::c_long
    • ffi::c_longlong
    • ffi::c_schar
    • ffi::c_short
    • ffi::c_uchar
    • ffi::c_uint
    • ffi::c_ulong
    • ffi::c_ulonglong
    • ffi::c_ushort
  • Ua fa'amautu le aufaipisinisi maualalo mo le fa'aogaina ma le faiga o le Palota (i le lumana'i ua fuafua e tu'uina atu se API fa'afaigofie e le mana'omia ai le fa'aogaina o fausaga maualalo e pei ole Toso ma Pin):
    • lumanai::poll_fn
    • galuega::sauni!
  • O le uiga "const", lea e fuafua ai le avanoa e faŹ»aaogaina ai i soŹ»o se faŹ»amatalaga nai lo le tumau, o loŹ»o faŹ»aaogaina i le fasi::from_raw_parts galuega.
  • Ina ia sili atu le faŹ»apipiŹ»iina o faŹ»amaumauga, ua suia le faŹ»atulagaina o mafaufauga o le Ipv4Addr, Ipv6Addr, SocketAddrV4 ma SocketAddrV6. Atonu o lo'o i ai se fa'afitauli feso'ota'i ma pusa ta'i tasi o lo'o fa'aogaina le std::mem::transmute mo le fa'aogaina maualalo o fausaga.
  • I le fausiaina o le rust compiler mo le fausaga Windows Sa faŹ»aaogaina le faŹ»aleleia atili o le PGO (faŹ»aleleia atili o le faŹ»atulagaga o faŹ»amatalaga), lea na mafai ai ona faŹ»ateleina le faŹ»atinoga o le tuŹ»ufaŹ»atasia o tulafono i le 10-20%.
  • Ua faŹ»atinoina e le tagata faŹ»apipiŹ»i se lapataiga fou e uiga i fanua le faŹ»aaogaina i nisi fausaga.

E le gata i lea, e mafai ona e maitauina le lipoti o le tulaga i le atinaʻeina o se isi faʻatinoga o le faʻapipiʻi gagana Rust, saunia e le gccrs project (GCC Rust) ma faʻamaonia mo le faʻaofiina i le GCC. A maeʻa ona tuʻufaʻatasia le pito i luma, e mafai ona faʻaogaina meafaigaluega masani a le GCC e tuʻufaʻatasia ai polokalame i le gagana Rust e aunoa ma le manaʻomia e faʻapipiʻi le rustc compiler, fausia e faʻaaoga ai atinaʻe LLVM. Afai lava o le atinaʻe o loʻo i luga o le ala, ma faʻasaʻo soʻo se faʻafitauli e leʻi mafaufauina, o le Rust frontend o le a tuʻufaʻatasia i le GCC 13 faʻasalalauga faʻatulagaina mo Me i le tausaga a sau. Ole GCC 13 fa'atinoga ole Rust ole a iai ile beta, e le'i mafai ona fa'agasolo.

puna: opennet.ru

FaŹ»atau talimalo faŹ»atuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers šŸ”„ Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster