Puo ea Rust programming 1.68 tokollo

Ho lokolloa ha puo ea lenaneo la Rust 1.68 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:

  • Motsamaisi oa sephutheloana sa Cargo le polokelo ea crates.io e tsitsitse tšehetso bakeng sa protocol ea Sparse, e hlalosang mokhoa o mocha oa ho sebetsa ka index e bonts'ang mefuta e fumanehang ea liphutheloana tsohle tse teng polokelong. Protocol e ncha e u lumella ho eketsa haholo lebelo la ho sebetsa le crates.io le ho rarolla mathata a sekhahla ka kholo e eketsehileng ea palo ea liphutheloana sebakeng sa polokelo.

    Ho fokotsa tieho e bakiloeng ke ho khoasolla index e felletseng, Sparse sebakeng sa ho fihlella index o sebelisa Git e kenyelletsa ho jarolla ka ho toba holim'a HTTPS feela data e hlokahalang ea index, e koahelang ho its'etleha ha morero o itseng. Tšebeletso e ncha, index.crates.io, e sebelisoa ho fana ka lintlha tsa index. Ka nako e sa lekanyetsoang, protocol e ncha e reretsoe ho sebelisoa lekaleng la Rust 1.70, 'me pele ho moo, ho e nolofalletsa, o ka beha phetoho ea tikoloho "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" kapa eketsa 'protocol =' parameter ho "[registries. crates-io]" karolo ea faele ea .cargo/config.toml 'sparse'.

  • E kentse "pin!" macro, e u lumellang ho theha Pin<&mut T> sebopeho ho tsoa polelong "T" ka pinning ea sebaka sa eona (ho fapana le Box::pin, ha e fane ka mohopolo ho qubu, empa e tlama boemong ba qubu).
  • Ho hlahisitsoe sebatli sa phoso sa kabo ea memori, se sebelisoang ha ho sebelisoa sephutheloana se tloaelehileng sa alloc. Lisebelisoa tse lumellang alloc feela (ntle le std) joale li tla letsetsa "panic!" Ha kabo ea memori e hloleha, e ka amoheloang ka boikhethelo ho sebelisa "#[panic_handler]". Mananeo a sebelisang laebrari ea std a tla tsoelapele ho hatisa lintlha tsa phoso ho stderr le ho oa.
  • Karolo e ncha ea API e fetiselitsoe sehlopheng sa ba tsitsitseng, ho kenyelletsa le mekhoa le ts'ebetsong ea mekhoa e tsitsitseng:
    • {core,std}::pin::pin!
    • impl Ho tloha bakeng sa {f32,f64}
    • std::path::MAIN_SEPARATOR_STR
    • impl DerefMut bakeng sa PathBuf
  • Sebopeho sa "const", se khethollang monyetla oa ho se sebelisa maemong afe kapa afe ho fapana le li-constants, se sebelisoa ho VecDeque :: mosebetsi o mocha.
  • Ho sebetsa sethaleng sa Android, bonyane NDK r25 (API 19) e se e hlokahala, ke hore. Mofuta o fokolang oa Android o tšehetsoeng o nyolohetse ho 4.4 (KitKat).
  • Boemo ba boraro ba ts'ehetso bo kentsoe ts'ebetsong bakeng sa sethala sa Sony PlayStation Vita (armv7-sony-vita-newlibeabihf). 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.

Source: opennet.ru

Eketsa ka tlhaloso