Puo ea Rust programming 1.69 tokollo

Ho lokolloa ha puo ea lenaneo la Rust 1.69 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 o kenya tšebetsong tlhahlobo ea litemoso tse ka rarolloang ka bo eona le likhothaletso tse nepahetseng tsa ho tsamaisa "cargo fix" kapa "cargo clippy --fix". temoso: thepa e tsoang kantle e sa sebelisoe: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | sebelisa std::hash::hash; | ^^^^^^^^^^^^^^^^^ | = hlokomela: '#[temosoa(unused_imports)]' ka temoso ea kamehla: 'foo' (bin "foo") e hlahisitse temoso e le 'ngoe (matha 'cargo fix --bin "foo"' ho sebelisa tlhahiso e le 'ngoe)
  • Added Cargo ho hlahisa tlhahiso ea ho sebelisa taelo ea "cargo add" ha u leka ho kenya laebrari ka taelo ea "cargo install".
  • Ho fokotsa nako ea ho bokella, tlhaiso-leseling ea debugging ho li-build script e emisitsoe ka ho sa feleng. Haeba litokomane tsa ho haha ​​li sebetsa ka katleho, phetoho e ke ke ea etsa phapang leha e le efe e bonahalang, empa haeba e hlōleha, thotobolo ea morao e tla ba le boitsebiso bo fokolang. Ho khutlisetsa boitšoaro ba khale ho Cargo.toml eketsa: [profile.dev.build-override] debug = nnete [profile.release.build-override] debug = nnete
  • Karolo e ncha ea API e fetiselitsoe sehlopheng sa ba tsitsitseng, ho kenyelletsa le mekhoa le ts'ebetsong ea mekhoa e tsitsitseng:
    • CStr::ho tloha_ka_bytes_ho fihlela_nul
    • mantlha::ffi::FromBytesUntilNulError
  • Sebopeho sa "consst", se khethollang monyetla oa ho se sebelisa maemong afe kapa afe ho fapana le li-constants, se sebelisoa mesebetsing:
    • SocketAddr:: ncha
    • SocketAddr::ip
    • SocketAddr:: koung
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4:: ncha
    • SocketAddrV4::ip
    • SocketAddrV4:: koung
    • SocketAddrV6:: ncha
    • SocketAddrV6::ip
    • SocketAddrV6:: koung
    • SocketAddrV6 ::flowinfo
    • SocketAddrV6::scope_id
  • E ekelitse bokhoni ba ho sebelisa lifolakha tsa 'nete le tsa bohata ho likhang tse bokellang.

Source: opennet.ru

Eketsa ka tlhaloso