рд░рд╕реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ 1.76 рд░рд┐рд▓реАрдЬ

Rust 1.76 рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рд░рд┐рд▓реАрдЬ, Mozilla рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд, рддрд░ рдЕрдм рд╕реНрд╡рддрдиреНрддреНрд░ рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рд╕рдВрд╕реНрдерд╛ рд░рд╕реНрдЯ рдлрд╛рдЙрдиреНрдбреЗрд╕рдирдХреЛ рд╕рдВрд░рдХреНрд╖рдгрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рднрд╛рд╖рд╛рд▓реЗ рдореЗрдореЛрд░реА рд╕реБрд░рдХреНрд╖рд╛рдорд╛ рдлреЛрдХрд╕ рдЧрд░реНрдЫ рд░ рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреЗ рд░ рд░рдирдЯрд╛рдЗрдордХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджреИ рдЙрдЪреНрдЪ рдХрд╛рдордХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдорд╛рдзреНрдпрдо рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ (рд░рдирдЯрд╛рдЗрдорд▓рд╛рдИ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рдЖрдзрд╛рд░рднреВрдд рдкреНрд░рд╛рд░рдореНрдн рд░ рдорд░реНрдорддрдорд╛ рдШрдЯрд╛рдЗрдиреНрдЫ)ред

рд░рд╕реНрдЯрдХреЛ рдореЗрдореЛрд░реА рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧ рд╡рд┐рдзрд┐рд╣рд░реВрд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓рд╛рдИ рдкреЛрдЗрдиреНрдЯрд░реНрд╕ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрджрд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдмрд╛рдЯ рдмрдЪрд╛рдЙрдБрдЫ рд░ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдореЗрдореЛрд░реА рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩрдХрд╛ рдХрд╛рд░рдг рдЙрддреНрдкрдиреНрди рд╣реБрдиреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдмрд╛рдЯ рдЬреЛрдЧрд╛рдЙрдБрдЫ, рдЬрд╕реНрддреИ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░рд▓рд╛рдИ рдЦрд╛рд▓реА рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ, рдирд▓ рдкреЛрдЗрдиреНрдЯрд╣рд░реВ, рдмрдлрд░ рдУрднрд░рд░рдиреНрд╕, рдЗрддреНрдпрд╛рджрд┐ред рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрди, рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд░ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди, рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдХрд╛рд░реНрдЧреЛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫред crates.io рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерд┐рдд рдЫред

рдореЗрдореЛрд░реА рд╕реБрд░рдХреНрд╖рд╛ рд╕рдиреНрджрд░реНрдн рдЬрд╛рдБрдЪ, рд╡рд╕реНрддреБ рд╕реНрд╡рд╛рдорд┐рддреНрд╡рдХреЛ рдЯреНрд░реНрдпрд╛рдХ рд░рд╛рдЦреНрдиреЗ, рд╡рд╕реНрддреБ рдЬреАрд╡рдирдХрд╛рд▓ (рд╕реНрдХреЛрдкрд╣рд░реВ) рдХреЛ рдЯреНрд░реНрдпрд╛рдХ рд░рд╛рдЦреНрдиреЗ, рд░ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдХреНрд░рдордорд╛ рдореЗрдореЛрд░реА рдкрд╣реБрдБрдЪрдХреЛ рд╢реБрджреНрдзрддрд╛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реЗрд░ рдХрдореНрдкрд╛рдЗрд▓ рд╕рдордпрдорд╛ рд░рд╕реНрдЯрдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдиреНрдЫред Rust рд▓реЗ рдкреВрд░реНрдгрд╛рдВрдХ рдУрднрд░рдлреНрд▓реЛрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЕрдШрд┐ рдЪрд░ рдорд╛рдирд╣рд░реВрдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░рд╛рд░рдореНрднрд┐рдХрддрд╛ рдЖрд╡рд╢реНрдпрдХ рдЫ, рддреНрд░реБрдЯрд┐рд╣рд░реВрд▓рд╛рдИ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрджрдЫ, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдиреНрджрд░реНрднрд╣рд░реВ рд░ рдЪрд░рд╣рд░реВрдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ, рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐рд╣рд░реВрд▓рд╛рдИ рдХрдо рдЧрд░реНрди рдмрд▓рд┐рдпреЛ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдЩ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВ:

  • ABI рд╕реНрддрд░рдорд╛ рд╡рд┐рднрд┐рдиреНрди рдЖрд░реНрдЧреБрдореЗрдиреНрдЯ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд░ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдЕрдиреБрдХреВрд▓рддрд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдЫреБрдЯреНрдЯреИ рдЦрдгреНрдб рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдердкрд┐рдПрдХреЛ рдЫред рдЕрдШрд┐рд▓реНрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдХреЛ рддреБрд▓рдирд╛рдорд╛, ABI рд╕реНрддрд░рдорд╛ рдЕрдиреБрдХреВрд▓рддрд╛ "char" рд░ "u32" рдкреНрд░рдХрд╛рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдХреЛ рдЖрдХрд╛рд░ рд░ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдзрддрд╛ рд╕рдорд╛рди рдЫред
  • рдкрд╣рд┐рд▓реЗ рдЙрдкрд▓рдмреНрдз "any::type_name:: call" рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд ()", рдЬрд╕рд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ "T" рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдЯреНрд░рд┐рдЩ рд╡рд┐рд╡рд░рдг рдлрд░реНрдХрд╛рдЙрдБрдЫ, "type_name_of_val(&T)" рдкреНрд░рдХрд╛рд░реНрдп рдердкрд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рдирд╛рдо рдирднрдПрдХреЛ рд╕рдиреНрджрд░реНрднрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдкреНрд░рдХрд╛рд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред fn get_iter() -> impl Iterator { [32, 1, 2].into_iter() } fn main() { let iter = get_iter(); let iter_name = std::any::type_name_of_val(&iter); let sum: i3 = iter.sum(); println!("`{iter_name}` рдХреЛ рдпреЛрдЧрдлрд▓ {рдпреЛрдЧрдлрд▓} рд╣реЛред"); } рдЖрдЙрдЯрдкреБрдЯ рдпреЛ рд╣реЛ: `core::array::iter::IntoIter рдХреЛ рдпреЛрдЧрдлрд▓ ` рем рд╣реЛред
  • рдПрдкреАрдЖрдИ рдХреЛ рдПрдХ рдирдпрд╛рдБ рднрд╛рдЧ рд╕реНрдерд┐рд░ рдХреЛ рд╢реНрд░реЗрдгреА рдорд╛ рд╕рд╛рд░рд┐рдпреЛ, рд╡рд┐рдзрд┐рд╣рд░реБ рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд╣рд┐рдд рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ:
    • рдЖрд░реНрдХ::рдЕрдирд░реЗрдк_рд╡рд╛_рдХреНрд▓реЛрди
    • рдЖрд░рд╕реА::рдЕрдирд░реЗрдк_рд╡рд╛_рдХреНрд▓реЛрди
    • рдирддрд┐рдЬрд╛:: рдирд┐рд░реАрдХреНрд╖рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
    • рдирддрд┐рдЬрд╛::рдирд┐рд░реАрдХреНрд╖рдг_рдЧрд▓реНрддреА
    • рд╡рд┐рдХрд▓реНрдк::рдирд┐рд░реАрдХреНрд╖рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
    • рднреНрдпрд╛рд▓рдХреЛ_рдирд╛рдо_рдкреНрд░рдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
    • std::hash::{рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рддрд╣реНрдпрд╛рд╕рд░, рдЕрдирд┐рдпрдорд┐рддрд╕реНрдерд┐рддрд┐}
    • ptr::{from_ref, from_mut}
    • ptr::addr_eq
  • рддреЗрд╕реНрд░реЛ рд╕реНрддрд░рдХреЛ рд╕рдорд░реНрдерди {x86_64,i686}-win7-windows-msvc, aarch64-apple-watchos, arm64e-apple-ios рд░ arm64e-apple-darwin рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреЗрд╕реНрд░реЛ рд╕реНрддрд░рд▓реЗ рдЖрдзрд╛рд░рднреВрдд рд╕рдорд░реНрдердирд▓рд╛рдИ рдЬрдирд╛рдЙрдБрдЫ, рддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдмрд┐рдирд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирдЧрд░реА рд░ рдХреЛрдб рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЬрд╛рдБрдЪ рдирдЧрд░реАред

рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрд╛рд░реНрдп рдЕрдиреБрд╕реВрдЪрдХ scx_rustland рдХреЛ рдкреНрд░рджрд░реНрд╢рдирд▓рд╛рдИ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, рдЬреБрди Rust рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдард╛рдЙрдБрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдЫ (рдХрд░реНрдиреЗрд▓рдмрд╛рдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдирдорд╛ рдХрд╛рд░реНрдп рддрд╛рд▓рд┐рдХрд╛ рддрд░реНрдХ рд╣рдЯрд╛рдЙрдиреЗ рдХрд╛рд░реНрдп sched-ext рдЯреВрд▓рдХрд┐рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ BPF рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ)ред CPU-рдЧрд╣рди рдХрд╛рд░реНрдпрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╛рдЙрди рдЕрдиреБрд╕реВрдЪрдХрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХрд░реНрдиреЗрд▓ рдирд┐рд░реНрдорд╛рдгрд╕рдБрдЧреИ рдПрдХреИ рд╕рд╛рде рдЦреЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдкрд░реАрдХреНрд╖рдгрдорд╛, scx_rustland рдЕрдиреБрд╕реВрдЪрдХрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдорд╛рдирдХ EEVDF рдЕрдиреБрд╕реВрдЪрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рднрдиреНрджрд╛ рдЦреЗрд▓рдорд╛ рдЙрдЪреНрдЪ FPS рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛред

рд╕реНрд░реЛрдд: opennet.ru

DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рднрдПрдХрд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрд░рдкрд░реНрджреЛ рд╣реЛрд╕реНрдЯрд┐рдЩ рдЦрд░рд┐рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН ЁЯФе DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рднрд░рдкрд░реНрджреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдЩ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН | ProHoster