рд░рд╕реНрдЯ 1.74 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреЗ рдкреНрд░рдХрд╛рд╢рди. RustVMM рдСрдбрд┐рдЯ. рдЧрдВрдЬ рдордзреНрдпреЗ рдмрд╛рдИрдВрдбрд░ рдкреБрдирд░реНрд▓реЗрдЦрди

Mozilla рдкреНрд░рдХрд▓реНрдкрд╛рджреНрд╡рд╛рд░реЗ рд╕реНрдерд╛рдкрд┐рдд, рдкрд░рдВрддреБ рдЖрддрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдирд╛-рдирдлрд╛ рд╕рдВрд╕реНрдерд╛ Rust Foundation рдЪреНрдпрд╛ рд╕рдВрд░рдХреНрд╖рдгрд╛рдЦрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реА Rust 1.74 рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ. рднрд╛рд╖рд╛ рдореЗрдорд░реА рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рдХрдЪрд░рд╛ рдЧреЛрд│рд╛ рдХрд░рдгрд╛рд░реЗ рдЖрдгрд┐ рд░рдирдЯрд╛рдЗрдордЪрд╛ рд╡рд╛рдкрд░ рдЯрд╛рд│реВрди рдЙрдЪреНрдЪ рдЬреЙрдм рд╕рдорд╛рдВрддрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХрд░рддреЗ (рд░рдирдЯрд╛рдЗрдо рдореВрд▓рднреВрдд рдкреНрд░рд╛рд░рдВрдн рдЖрдгрд┐ рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрдореА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ).

рд░рд╕реНрдЯрдЪреНрдпрд╛ рдореЗрдорд░реА рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреА рдкреЙрдЗрдВрдЯрд░ рд╣рд╛рддрд╛рд│рддрд╛рдирд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рддреНрд░реБрдЯреАрдВрдкрд╛рд╕реВрди рд╡рд╛рдЪрд╡рддрд╛рдд рдЖрдгрд┐ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдореЗрдорд░реА рд╣рд╛рддрд╛рд│рдгреАрдореБрд│реЗ рдЙрджреНрднрд╡рдгрд╛рд▒реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рддрд╛рдд, рдЬрд╕реЗ рдХреА рдореЗрдорд░реА рдПрд░рд┐рдпрд╛ рдореЛрдХрд│рд╛ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рддреНрдпрд╛рдд рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ, рдирд▓ рдкреЙрдЗрдВрдЯрд░реНрд╕рдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрдгреЗ, рдмрдлрд░ рдУрд╡реНрд╣рд░рд░рдиреНрд╕ рдЗ. рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдмрд┐рд▓реНрдб рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░рдХрд▓реНрдк рдХрд╛рд░реНрдЧреЛ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЛ. crates.io рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд▓рд╛рдпрдмреНрд░рд░реАрд╕рд╛рдареА рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ.

рд╕рдВрджрд░реНрдн рддрдкрд╛рд╕рдгреА, рдСрдмреНрдЬреЗрдХреНрдЯрдЪреНрдпрд╛ рдорд╛рд▓рдХреАрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рдгреЗ, рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо (рд╕реНрдХреЛрдк) рдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рдгреЗ рдЖрдгрд┐ рдХреЛрдб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рди рджрд░рдореНрдпрд╛рди рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕рдЪреНрдпрд╛ рдЕрдЪреВрдХрддреЗрдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдгреЗ рдпрд╛рджреНрд╡рд╛рд░реЗ рдореЗрдорд░реА рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд░рд╕реНрдЯрдордзреНрдпреЗ рдХрдВрдкрд╛рдЗрд▓ рд╡реЗрд│реА рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЬрд╛рддреЗ. рд░рд╕реНрдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдУрд╡реНрд╣рд░рдлреНрд▓реЛрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡реНрд╣реЕрд▓реНрдпреВрдЬрдЪреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд░рдВрдн рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рддреНрд░реБрдЯреА рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╣рд╛рддрд╛рд│рддреЗ, рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдВрджрд░реНрдн рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рд╕рдВрдХрд▓реНрдкрдирд╛ рд▓рд╛рдЧреВ рдХрд░рддреЗ, рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯреА рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдордЬрдмреВрдд рд╕реНрдерд┐рд░ рдЯрд╛рдпрдкрд┐рдВрдЧ рдСрдлрд░ рдХрд░рддреЗ.

рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛:

  • рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ рдореЕрдирд┐рдлреЗрд╕реНрдЯрд╕рд╣ Cargo.toml рдлрд╛рдЗрд▓рджреНрд╡рд╛рд░реЗ рд▓рд┐рдВрдЯ рдЪреЗрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА. рд▓рд┐рдВрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬрд╕реЗ рдХреА рдкреНрд░рддрд┐рд╕рд╛рдж рдкрд╛рддрд│реА (рдирд┐рд╖рд┐рджреНрдз рдХрд░рд╛, рдирдХрд╛рд░ рджреНрдпрд╛, рдЪреЗрддрд╛рд╡рдгреА рджреНрдпрд╛, рдкрд░рд╡рд╛рдирдЧреА рджреНрдпрд╛), рдирд╡реАрди рд╡рд┐рднрд╛рдЧ тАЬ[рд▓рд┐рдВрдЯ]тАЭ рдЖрдгрд┐ тАЬ[workspace.lints]тАЭ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдд рдмрджрд▓ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реЗ рдЬрд╛рддрд╛рдд. рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬ#![forbid(unsafe_code)]тАЭ рдЖрдгрд┐ тАЬ#![deny(clippy) рдЕрд╕реЗрдВрдмреНрд▓ рдХрд░рддрд╛рдирд╛ рдХрд┐рдВрд╡рд╛ рдЬреЛрдбрддрд╛рдирд╛ тАЬ-FтАЭ, тАЬ-DтАЭ, тАЬ-WтАЭ рдЖрдгрд┐ тАЬ-AтАЭ рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА :" рдХреЛрдбрдЪреА рд╡рд┐рд╢реЗрд╖рддрд╛) :enum_glob_use)]" рдЖрддрд╛ рдХрд╛рд░реНрдЧреЛ рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ: [lints.rust] unsafe_code = "forbid" [lints.clippy] enum_glob_use = "nay"
  • рдХреНрд░реЗрдЯ рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░рдиреЗ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛рдирд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ. рдореВрд▓рднреВрдд рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ рд▓рд┐рдирдХреНрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реНрдЯреЛрдЕрд░реНрд╕ (рд▓рд┐рдмрд╕реЗрдХреНрд░реЗрдЯрд╡рд░ рдЖрдзрд╛рд░рд┐рдд), рдореЕрдХрдУрдПрд╕ (рдХреАрдЪреЗрди) рдЖрдгрд┐ рд╡рд┐рдВрдбреЛрдЬ (рд╡рд┐рдВрдбреЛрдЬ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рдореЕрдиреЗрдЬрд░) рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕рд┐рд╕реНрдЯрдо рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдореЙрдбреНрдпреВрд▓рд░ рдмрдирд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реА рд╣реЛрддреА рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╡рд┐рдз рдкреНрд░рджрд╛рддреНрдпрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЯреЛрдХрди рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 1Password рдкрд╛рд╕рд╡рд░реНрдб рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд▓рдЧрдЗрди рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдХреЛрдгрддреНрдпрд╛рд╣реА рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрджреНрд╡рд╛рд░реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реВ рд╢рдХрддреЗ, рдХреЗрд╡рд│ рдкреЕрдХреЗрдЬреЗрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реНрдпрд╛рдЪреА рдкреБрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╛рд╣реА. ~/.cargo/config.toml [registry] global-credential-providers = ["cargo:token", "cargo:libsecret"]
  • рд░рд┐рдЯрд░реНрди рдЯрд╛рдИрдк рдкреНрд░реЛрдЬреЗрдХреНрд╢рдиреНрд╕ (impl_trait_projections) рд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕реНрдерд┐рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, Self and T::Assoc рд▓рд╛ "async fn" рдЖрдгрд┐ "->impl Trait" рд╕рд╛рд░рдЦреНрдпрд╛ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░рд╛рдВрдордзреНрдпреЗ рдирдореВрдж рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд░реЕрдкрд░<'a, T>(&'a T); // рдЕрдкрд╛рд░рджрд░реНрд╢рдХ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдЬреЗ `Self` рдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛рдд: impl Wrapper<'_, ()> { async fn async_fn() -> Self { /* тАж */ } fn impl_trait() -> impl Iterator { /* тАж */ } } рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп<'a> { рдкреНрд░рдХрд╛рд░ Assoc; fn new() -> Self::Assoc; } impl рд╡рд┐рд╢реЗрд╖рддрд╛<'_> рд╕рд╛рдареА () { рдкреНрд░рдХрд╛рд░ Assoc = (); fn new() {} } // рдЕрдкрд╛рд░рджрд░реНрд╢рдХ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдЬреЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд░рд╛рдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛рдд: impl<'a, T: Trait<'a>> Wrapper<'a, T> { async fn mk_assoc() -> T::Assoc { /* тАж */ } fn a_few_assocs() -> impl Iterator { /* тАж */ } }
  • API рдЪрд╛ рдПрдХ рдирд╡реАрди рднрд╛рдЧ рд╕реНрдерд┐рд░ рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд▓рд╡рд┐рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдкрджреНрдзрддреА рдЖрдгрд┐ рдЧреБрдгрдзрд░реНрдорд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрдерд┐рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ:
  • "const" рд╡рд┐рд╢реЗрд╖рддрд╛, рдЬреА рд╕реНрдерд┐рд░рд╛рдВрдХрд╛рдВрдРрд╡рдЬреА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдВрджрд░реНрднрд╛рдд рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ, рдлрдВрдХреНрд╢рдиреНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ:
    • core::mem::transmute_copy
    • str::is_ascii
    • [u8]::is_ascii
    • рдХреЛрд░::рд╕рдВрдЦреНрдпрд╛::рд╕рдВрддреГрдкреНрдд
    • std::process::Stdio рд╕рд╛рдареА impl From
    • std::process::Stdio рд╕рд╛рдареА impl From
    • impl From std::process::Child{Stdin, Stdout, Stderr} рд╕рд╛рдареА
    • impl From std::process::Child{Stdin, Stdout, Stderr} рд╕рд╛рдареА
    • std::ffi::OsString::from_encoded_bytes_unchecked
    • std::ffi::OsString::into_encoded_bytes
    • std::ffi::OsStr::from_encoded_bytes_unchecked
    • std::ffi::OsStr::as_encoded_bytes
    • std::io::рддреНрд░реБрдЯреА::рдЗрддрд░
    • impl TryFrom u16 рд╕рд╛рдареА
    • impl рдХрдбреВрди<&[T; N]>Vec рд╕рд╛рдареА
    • impl рдХрдбреВрди<&mut [T; N]>Vec рд╕рд╛рдареА
    • impl рдХрдбреВрди<[рдЯреА; N]> рдЖрд░реНрдХ<[T]> рд╕рд╛рдареА
    • impl рдХрдбреВрди<[рдЯреА; N]> Rc<[T]> рд╕рд╛рдареА
  • рдХрдВрдкрд╛рдЗрд▓рд░, рдЯреВрд▓рдХрд┐рдЯ, рд╕реНрдЯрдБрдбрд░реНрдб рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓реНрд╕рдиреЗ Apple рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рдврд╡рд▓реА рдЖрд╣реЗ, рдЖрддрд╛ рдХрд┐рдорд╛рди macOS 10.12 Sierra, iOS 10 рдЖрдгрд┐ tvOS 10 2016 рдордзреНрдпреЗ рд░рд┐рд▓реАрдЭ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  • i686-pc-windows-gnullvm рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рдЪрд╛ рддрд┐рд╕рд░рд╛ рд╕реНрддрд░ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. рддрд┐рд╕рд▒реНрдпрд╛ рд╕реНрддрд░рд╛рдордзреНрдпреЗ рдореВрд▓рднреВрдд рд╕рдорд░реНрдерди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЪрд╛рдЪрдгреАрд╢рд┐рд╡рд╛рдп, рдЕрдзрд┐рдХреГрдд рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдХреЛрдб рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдХреА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рдгреЗ.
  • loongarch64-unknown-none рд▓рдХреНрд╖реНрдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рдЪреА рджреБрд╕рд░реА рдкрд╛рддрд│реА рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рд╕рдорд░реНрдердирд╛рдЪреНрдпрд╛ рджреБрд╕рд▒реНрдпрд╛ рд╕реНрддрд░рд╛рдордзреНрдпреЗ рдЕрд╕реЗрдВрдмреНрд▓реАрдЪреА рд╣рдореА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддреЗ.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЧрдВрдЬ рднрд╛рд╖реЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рджреЛрди рдШрдЯрдирд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд:

  • рдУрдПрд╕рдЯреАрдЖрдпрдПрдл (рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреА рдЗрдореНрдкреНрд░реВрд╡реНрд╣рдореЗрдВрдЯ рдлрдВрдб), рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд▓рд╛ рдмрд│рдХрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдиреЗ RustVMM рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдСрдбрд┐рдЯрдЪреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рдЯрд╛рд╕реНрдХ-рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рдЖрдгрд┐ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдореЙрдирд┐рдЯрд░реНрд╕ (VMMs) рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд. рдЗрдВрдЯреЗрд▓, рдЕрд▓рд┐рдмрд╛рдмрд╛, рдЕреЕрдореЗрдЭреЙрди, рдЧреБрдЧрд▓, рд▓рд┐рдирд╛рд░реЛ рдЖрдгрд┐ рд░реЗрдб рд╣реЕрдЯ рд╕рд╛рд░рдЦреНрдпрд╛ рдХрдВрдкрдиреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдд рд╕рд╣рднрд╛рдЧреА рд╣реЛрдд рдЖрд╣реЗрдд. рдЗрдВрдЯреЗрд▓ рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рдЖрдгрд┐ рдбреНрд░реЕрдЧрдирдмреЙрд▓ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ RustVMM рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗрдд. рдСрдбрд┐рдЯрдиреЗ рдХреЛрдб рдмреЗрд╕рдЪреНрдпрд╛ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддреЗрдЪреА рдЖрдгрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рддрдВрддреНрд░рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдпрд╛рдЪреА рдкреБрд╖реНрдЯреА рдХреЗрд▓реА рдЖрд╣реЗ рдЬреНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрд╣реЗ. рд▓реЗрдЦрд╛рдкрд░реАрдХреНрд╖рдгрд╛рджрд░рдореНрдпрд╛рди, 6 рд╕рдорд╕реНрдпрд╛ рдУрд│рдЦрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЬреНрдпрд╛рдВрдЪрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╡рд░ рдереЗрдЯ рдкрд░рд┐рдгрд╛рдо рдЭрд╛рд▓рд╛ рдирд╛рд╣реА.
  • Google рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдореЗрд▓рд┐рдВрдЧ рд▓рд┐рд╕реНрдЯрдордзреНрдпреЗ рд░рд╕реНрдЯ рднрд╛рд╖реЗрдд рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛, рдмрд╛рдЗрдВрдбрд░ рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрд╕ рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдореЗрдХреЕрдирд┐рдЭрдордЪреА рдирд╡реАрди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕рд╛рджрд░ рдХреЗрд▓реА. рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рдордЬрдмреВрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдВрддреНрд░рд╛рдВрдирд╛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ Android рдордзреНрдпреЗ рдореЗрдорд░реАрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рд╕рдорд╕реНрдпрд╛ рдУрд│рдЦрдгреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рдПрдХ рднрд╛рдЧ рдореНрд╣рдгреВрди рд╣реЗ рдкреБрдирд░реНрдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЧреЗрд▓реЗ (Android рдордзреНрдпреЗ рдУрд│рдЦрд▓реНрдпрд╛ рдЧреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдзреЛрдХрд╛рджрд╛рдпрдХ рдЕрд╕реБрд░рдХреНрд╖рд╛рдВрдкреИрдХреА рд╕реБрдорд╛рд░реЗ 70% рдореЗрдорд░реАрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рддреНрд░реБрдЯреАрдВрдореБрд│реЗ рд╣реЛрддрд╛рдд. ). рд░рд╕реНрдЯрдордзреНрдпреЗ рдмрд╛рдЗрдВрдбрд░рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдиреЗ C рднрд╛рд╖реЗрддреАрд▓ рдореВрд│ рдЖрд╡реГрддреНрддреАрд╕рд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдд рд╕рдорд╛рдирддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реА рдЖрд╣реЗ, рд╕рд░реНрд╡ AOSP (Android рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ) рдЪрд╛рдЪрдгреНрдпрд╛ рдЙрддреНрддреАрд░реНрдг рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдлрд░реНрдорд╡реЗрдЕрд░рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд░рдд рдЖрд╡реГрддреНрддреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рджреЛрдиреНрд╣реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЕрдВрджрд╛рдЬреЗ рд╕рдорд╛рди рдкрд╛рддрд│реАрд╡рд░ рдЖрд╣реЗ (-1.96% рдЖрдгрд┐ +1.38% рдЪреНрдпрд╛ рдЖрдд рд╡рд┐рдЪрд▓рди).

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛