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

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

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

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

  • рд░реЗрдЦрд╛ рдврд╛рдБрдЪрд╛ рдмреНрд▓рдХрд╣рд░реВрдорд╛, рдирдореНрдмрд░ рд░ рдирд╛рдорджреНрд╡рд╛рд░рд╛ рд░реЗрдЦрд╛ рдкрдЫрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╕реВрдЪреАрдмрджреНрдз рднреНрдпрд╛рд░реАрдПрдмрд▓рд╣рд░реВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗ рдкрд╣рд┐рд▓реЗ рдЙрдкрд▓рдмреНрдз рдХреНрд╖рдорддрд╛рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рд░реЗрдЦрд╛рдорд╛ "{identifier}" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдердкреЗрд░ рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛рд╣рд░реВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐: // рдкрд╣рд┐рд▓реЗ рд╕рдорд░реНрдерд┐рдд рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ: println!("Hello, {}!", get_person()); println!("рдирдорд╕реНрддреЗ, {0}!", get_person()); println!("рдирдорд╕реНрддреЗ, {рд╡реНрдпрдХреНрддрд┐}!", рд╡реНрдпрдХреНрддрд┐ = get_person()); // рдЕрдм рддрдкрд╛рдЗрдБ let person = get_person(); рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ; println!("рдирдорд╕реНрддреЗ, {рд╡реНрдпрдХреНрддрд┐}!");

    рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдврд╛рдБрдЪрд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдорд╛ рд╕реАрдзрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред let (рдЪреМрдбрд╛рдИ, рд╕рдЯреАрдХ) = get_format(); get_scores() { println!("{name}: {score:width$.precision$}") рдорд╛ (рдирд╛рдо, рд╕реНрдХреЛрд░) рдХреЛ рд▓рд╛рдЧрд┐; }

    рдирдпрд╛рдБ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирд▓реЗ рд╕реНрдЯреНрд░рд┐рдЩ рдврд╛рдБрдЪрд╛ рдкрд░рд┐рднрд╛рд╖рд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рд╕рдмреИ рдореНрдпрд╛рдХреНрд░реЛрд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ, "рдореНрдпрд╛рдХреНрд░реЛ!" рдмрд╛рд╣реЗрдХред рд░рд╕реНрдЯ рднрд╛рд╖рд╛рдХреЛ 2015 рд░ 2018 рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛, рдЬрд╕рдорд╛ рдЖрддрдВрдХ!("{ident}") рд▓рд╛рдИ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдЩрдХреЛ рд░реВрдкрдорд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░рд┐рдиреНрдЫ (Rust 2021 рдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирд▓реЗ рдХрд╛рдо рдЧрд░реНрджрдЫ)ред

  • рд╡рд┐рдиреНрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛ std::process::рдЖрджреЗрд╢ рд╕рдВрд░рдЪрдирд╛рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рдЫ рддрд╛рдХрд┐ рдЖрджреЗрд╢рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛, рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓реЗ рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд╣рд░реВ рдЦреЛрдЬреНрджреИрдиред рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдмрд╣рд┐рд╖реНрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐рдирднрдиреЗ рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ (CVE-2021-3013) рдорд╛ рдЪрд▓рд╛рдЗрдиреНрдЫ рднрдиреЗ рдпреЛ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдирдпрд╛рдБ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ рддрд░реНрдХрд▓реЗ рд░рд╕реНрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА, рд╡рд┐рдиреНрдбреЛрдЬ рдкреНрд░рдгрд╛рд▓реА рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА, рд░ PATH рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рд╣рд░реВ рдЦреЛрдЬреА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред
  • рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд▓реЗ рд░рд┐рдЯрд░реНрди рдорд╛рдирд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реЗрдХреЛ рдЦрдгреНрдбрдорд╛ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдЧрд░реНрди "#[must_use]" рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЗрдПрдХрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдЩреНрдЦреНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реЗрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдирдпрд╛рдБ рдорд╛рди рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рдорд╛рдирд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗрдЫ рднрдиреА рдорд╛рдиреНрджрд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдЫред
  • рдПрдкреАрдЖрдИ рдХреЛ рдПрдХ рдирдпрд╛рдБ рднрд╛рдЧ рд╕реНрдерд┐рд░ рдХреЛ рд╢реНрд░реЗрдгреА рдорд╛ рд╕рд╛рд░рд┐рдпреЛ, рд╡рд┐рдзрд┐рд╣рд░реБ рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд╣рд┐рдд рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ:
    • рдореЗрдЯрд╛рдбреЗрдЯрд╛::is_symlink
    • рдкрде::is_symlink
    • {integer}::saturating_div
    • рд╡рд┐рдХрд▓реНрдк::unwrap_uncheck
    • рдирддрд┐рдЬрд╛::unwrap_uncheck
    • рдирддрд┐рдЬрд╛::unwrap_err_uncheck
  • "const" рд╡рд┐рд╢реЗрд╖рддрд╛, рдЬрд╕рд▓реЗ рд╕реНрдерд┐рд░рддрд╛рдХреЛ рд╕рдЯреНрдЯрд╛ рдХреБрдиреИ рдкрдирд┐ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ, рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ:
    • рдЕрд╡рдзрд┐::рдирдпрд╛рдБ
    • рдЕрд╡рдзрд┐::checked_add
    • рдЕрд╡рдзрд┐:: saturating_add
    • рдЕрд╡рдзрд┐::checked_sub
    • рдЕрд╡рдзрд┐:: saturating_sub
    • рдЕрд╡рдзрд┐::checked_mul
    • рдЕрд╡рдзрд┐:: saturating_mul
    • рдЕрд╡рдзрд┐::checked_div
  • "const" рд╕рдиреНрджрд░реНрднрд╣рд░реВрдорд╛ "*const T" рд╕реВрдЪрдХрд╣рд░реВрдХреЛ dereferencing рд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫред
  • рдХрд╛рд░реНрдЧреЛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХрдорд╛, рдкреНрдпрд╛рдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛рдорд╛ rust_version рдлрд┐рд▓реНрдб рдердкрд┐рдПрдХреЛ рдЫ, рд░ "--message-format" рд╡рд┐рдХрд▓реНрдк "cargo install" рдЖрджреЗрд╢рдорд╛ рдердкрд┐рдПрдХреЛ рдЫред
  • рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ CFI (рдХрдиреНрдЯреНрд░реЛрд▓ рдлреНрд▓реЛ рдЗрдиреНрдЯрд┐рдЧреНрд░рд┐рдЯреА) рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░рдХрд╛ рдХреЗрд╣реА рд░реВрдкрд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдкреНрд░рддреНрдпреЗрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдХрд▓ рдЕрдШрд┐ рдЬрд╛рдБрдЪрд╣рд░реВ рдердкреНрдЫ рдЬрд╕рд▓реЗ рд╕рдореНрднрд╛рд╡рд┐рдд рд░реВрдкрдорд╛ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрджреЗрд╢ (рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣) рдХреЛ рдЙрд▓реНрд▓рдЩреНрдШрди рдЧрд░реНрди рд╕рдХреНрдЫред рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдореЗрдореЛрд░реАрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХрд╛ рд╕реВрдЪрдХрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рд╢реЛрд╖рдгрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧред
  • рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ LLVM рдХрднрд░реЗрдЬ рддреБрд▓рдирд╛ рдврд╛рдБрдЪрд╛рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 5 рд░ 6 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреЗрдХреЛ рдЫ, рдкрд░реАрдХреНрд╖рдгрдХреЛ рдХреНрд░рдордорд╛ рдХреЛрдб рдХрднрд░реЗрдЬ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
  • рдХрдореНрдкрд╛рдЗрд▓рд░рдорд╛, LLVM рдХреЛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ LLVM 12 рдорд╛ рдмрдврд╛рдЗрдПрдХреЛ рдЫред
  • x86_64-unknown-none рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердирдХреЛ рддреЗрд╕реНрд░реЛ рд╕реНрддрд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреЗрд╕реНрд░реЛ рддрд╣рдорд╛ рдЖрдзрд╛рд░рднреВрдд рд╕рдорд░реНрдерди рд╕рдорд╛рд╡реЗрд╢ рдЫ, рддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдмрд┐рдирд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ, рд╡рд╛ рдХреЛрдб рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдХрд┐ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдирдЧрд░реАред

рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореА Windows 0.30 рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╕реНрдЯрдХреЛ рд░рд┐рд▓реАрдЬрдХреЛ Microsoft рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рдирд▓рд╛рдИ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ Windows OS рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╕реЗрдЯрдорд╛ рджреБрдИ рдХреНрд░реЗрдЯ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ (рд╡рд┐рдиреНрдбреЛрдЬ рд░ рд╡рд┐рдиреНрдбреЛрдЬ-sys) рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН, рдЬрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рддрдкрд╛рдИрдВрд▓реЗ Rust рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдорд╛ Win API рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред API рд╕рдорд░реНрдердирдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб API рдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛рдмрд╛рдЯ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрд╡рд╕реНрдерд┐рдд Win API рдХрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рднрд╡рд┐рд╖реНрдпрдорд╛ рджреЗрдЦрд╛ рдкрд░реНрдиреЗ рдХрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ UWP (рдпреБрдирд┐рднрд░реНрд╕рд▓ рд╡рд┐рдиреНрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлрд░реНрдо) рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреНрдЫ рд░ рд╣реНрдпрд╛рдиреНрдбрд▓ рд░ рдбрд┐рдмрдЧ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди