Puo ea Rust programming 1.62 tokollo

Ho lokolloa ha puo ea lenaneo la Rust 1.62 ka kakaretso, e thehiloeng ke morero oa Mozilla, empa hona joale e ntlafalitsoeng ka tlas'a ts'ebetso ea mokhatlo o ikemetseng o sa etseng phaello oa Rust Foundation, e hatisitsoe. Puo e shebana le ts'ireletso ea mohopolo 'me e fana ka mekhoa ea ho finyella mosebetsi o phahameng oa ho ts'oara mosebetsi ha o ntse o qoba ho sebelisoa ha moqoqo oa lithōle le nako ea ho sebetsa (nako ea ho sebetsa e fokotsehile ho qala ho qala le ho boloka laebrari e tloaelehileng).

Mekhoa ea ho sebetsana le memori ea Rust e boloka moqapi ho tsoa liphosong ha a laola lintlha le ho sireletsa khahlanong le mathata a hlahang ka lebaka la ho tšoara memori ea boemo bo tlaase, joalo ka ho fumana sebaka sa memori ka mor'a hore e lokolloe, ho tlosa li-null pointer, buffer overruns, joalo-joalo. Ho aba lilaebrari, ho fana ka meaho le ho laola litšepe, projeke e nts'etsapele mookameli oa thepa ea Cargo. Sebaka sa polokelo ea crates.io se tšehetsoa bakeng sa lilaebrari tse amohelang batho.

Tšireletseho ea memori e fanoa ka Rust ka nako ea ho bokella ka ho hlahloba litšupiso, ho boloka tlaleho ea botho ba ntho, ho boloka tlaleho ea bophelo ba ntho (scopes), le ho lekola ho nepahala ha phihlello ea mohopolo nakong ea ts'ebetso ea khoutu. Rust e boetse e fana ka ts'ireletso khahlano le phallo e felletseng, e hloka ho qalisoa ha boleng bo fapaneng pele e sebelisoa, e sebetsana le liphoso hamolemo laebraring e tloaelehileng, e sebelisa mohopolo oa litšupiso tse ke keng tsa fetoha le mefuta e fapaneng ka mokhoa o ikhethileng, e fana ka ho thaepa ho tiileng ho fokotsa liphoso tse utloahalang.

Litlhahiso tse ka sehloohong:

  • Mookameli oa sephutheloana sa "cargo" o fana ka taelo ea "eketsa", e u lumellang hore u kenye litšepeho tse ncha ho ponahatso ea Cargo.toml kapa ho fetola litšepeho tse teng moleng oa taelo. Taelo e boetse e u lumella ho hlakisa likarolo le liphetolelo tsa motho ka mong, mohlala: cargo add serde -likarolo li tsoa ho cargo add nom@5.
  • E kentse bokhoni ba ho sebelisa "#[default(Default)]" ka li-ennum tseo khetho ea kamehla e hlalosoang ho sebelisoa tšobotsi ea "#[default]". #[Default(Default)] enum Mohlomong { #[kamehla] Ha ho letho, Ntho e 'ngoe(T),}
  • Sethaleng sa Linux, ho sebelisoa ts'ebetsong e sebetsang haholoanyane le e potlakileng ea mochine oa synchronization oa Mutex, ho itšetlehile ka tšebeliso ea futexes e fanoeng ke Linux kernel. Ho fapana le ts'ebetsong e neng e sebelisoa pele ho latela laeborari ea pthreads, mofuta o mocha o sebelisa li-byte tse 5 feela ho e-na le 40 ho boloka naha ea Mutex. Ka mokhoa o ts'oanang, mekhoa ea ho notlela ea Condvar le RwLock e fetiselitsoe ho futex.
  • Boemo ba bobeli ba ts'ehetso bakeng sa sethala sa sepheo sa x86_64-se sa tsejoeng-ha se se se kentsoe ts'ebetsong, se etselitsoeng ho hlahisa lifaele tse sebetsang tse ka sebetsang ntle le mokhoa oa ho sebetsa. Mohlala, sethala se boletsoeng se ka sebelisoa ha ho ngoloa likarolo tsa kernel. Boemo ba bobeli ba tšehetso bo kenyelletsa tiiso ea kopano.
  • Boemo ba boraro ba tšehetso bo kentsoe tšebetsong bakeng sa sethala sa aarch64-pc-windows-gnullvm le x86_64-pc-windows-gnullvm. Boemo ba boraro bo kenyelletsa ts'ehetso ea mantlha, empa ntle le tlhahlobo ea boiketsetso, meaho ea semmuso ea phatlalatso, kapa ho hlahloba hore na khoutu e ka hahuoa.
  • Karolo e ncha ea API e fetiselitsoe sehlopheng sa ba tsitsitseng, ho kenyelletsa le mekhoa le ts'ebetsong ea mekhoa e tsitsitseng:
    • bool::ebe_tse ling
    • f32::kakaretso_cmp
    • f64::kakaretso_cmp
    • Stdin:: mela
    • windows::CommandExt::raw_arg
    • impl boleng ba kamehla bakeng sa AssertUnwindSafe
    • Ho tloha > bakeng sa Rc
    • Ho tloha > bakeng sa Arc<[u8]>
    • FusedIterator bakeng sa EncodeWide

    Source: opennet.ru

Eketsa ka tlhaloso