Puo ea Rust programming 1.77 tokollo

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

  • Tšehetso e ekelitsoeng bakeng sa li-liters tsa C-strings (c"text"), tse bolokiloeng mohopolong ka litlhaku tse felisitsoeng 'me li amahanngoa le mofuta oa "CStr". Ho lebelletsoe hore tšehetso ea C-string e tla nolofatsa khoutu ea ho ngola e sebetsanang le likarolo tsa lipuo tsa mananeo tse sebelisang likhoele tse felisitsoeng, 'me e tla lumella licheke tse hlokahalang hore li etsoe sethaleng sa ho bokella. const HELLO: &core::ffi::CStr = c"Dumela, lefatshe!";
  • Mesebetsing e entsoeng ka mokhoa o sa lumellaneng e phatlalalitsoeng ho sebelisoa poleloana "async fn", tšebeliso ea ho pheta-pheta e lumelloa, ke hore. mesebetsi e joalo e se e ka ipitsa. async fn fib(n: u32) -> u32 { match n {0 | 1 => 1, _ => Lebokose::pin(fib(n-1)).emela + Lebokose::pin(fib(n-2)).emela }}
  • The Offset_of! Ha e le hantle, macro e ka ba molemo maemong ao ho ona o hlokang ho sebetsa sebakeng sa offset ha ho se na mohlala oa mofuta. Haholo-holo, offset_of functionality ea hlokahala ha ho etsoa likarolo tse tlaase tse kang bakhanni. sebelisa std::mem; #[repr(C)] struct FieldStruct { ea pele: u8, ea bobeli: u16, ea boraro: u8 } assert_eq!(mem::offset_of!(FieldStruct, pele), 0); assert_eq!(mem::offset_of!(FieldStruct, ea bobeli), 2); assert_eq!(mem::offset_of!(FieldStruct, ea boraro), 4);
  • Ho mookameli oa sephutheloana sa Cargo, ho li-profiles tsa tokollo, ho hloekisoa ha lifaele ho tsoa ho data ea debugging ho nolofalloa ka mokhoa oa kamehla (strip = "debuginfo"), ntle le haeba mokhoa oa ho lokisa o lumelloa ka ho hlaka profilaneng ea Cargo, ke hore. haeba parameter debug = 0.
  • Khetho ea "-Zthir-unsafeck=on" e lumelloa ka ho sa feleng, e fana ka cheke e sa bolokehang bakeng sa THIR (Boemeli bo Phahameng ba Boemo bo Phahameng bo Tlatselitsoeng).
  • E kentse tlhahlobo ea lint bakeng sa static_mut_refs ho hlahisa temoso ha ho sebelisoa litšupiso tsa boleng bo feto-fetohang.
  • Bokhoni ba ho sebelisa mofuta oa "From<&[T;" bo kentsoe tšebetsong. N]>" bakeng sa mofuta oa "Cow<[T]>". fn foo(data: impl Into >) {/* … */ } fn main() { foo(&[“hello”, “lefatshe”]); }
  • Moqapi o fana ka tumellano ea mefuta ea 16-byte i128 le u128 bakeng sa litsamaiso tsa x86.
  • Karolo e ncha ea API e fetiselitsoe sehlopheng sa ba tsitsitseng, ho kenyelletsa le mekhoa le ts'ebetsong ea mekhoa e tsitsitseng:
    • sehlopha::e 'ngoe le e 'ngoe ref
    • sehlopha::emong le emong
    • mantlha::nete
    • f32::ho pota_maqhama_esita
    • f64::ho pota_maqhama_esita
    • mem::feela_of!
    • selae::first_chunk
    • selae::first_chunk_mut
    • selae :: arola_pele_karolo
    • selae::split_first_chunk_mut
    • selae::last_chunk
    • selae::last_chunk_mut
    • selae::split_last_chunk
    • selae::split_last_chunk_mut
    • selae::chunk_by
    • selae::chunk_by_mut
    • E tlameletsoe:: 'mapa
    • File::create_new
    • Mutex::chefo_e hlakileng
    • RwLock::chefo_e hlakileng
  • Boemo ba boraro ba ts'ehetso bo kentsoe ts'ebetsong bakeng sa liforomo tsa aarch64-tse sa tsejoeng-illumos, hexagon-unknown-none-elf, riscv32imafc-esp-espidf le riscv32im-risc0-zkvm-elf. 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

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster