рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ Rust 1.75 рд░ unikernel Hermit 0.6.7 рдХреЛ рд░рд┐рд▓реАрдЬ

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

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

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

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

  • рдирд┐рдЬреА рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрдорд╛ "async fn" рд░ "-> impl Trait" рд╕рдЩреНрдХреЗрдд рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, "-> impl Trait" рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрдкрд╛рдИрд▓реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рдзрд┐ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬрд╕рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдлрд░реНрдХрд╛рдЙрдБрдЫ: рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрдиреНрдЯреЗрдирд░ { fn рд╡рд╕реНрддреБрд╣рд░реВ(&self) -> impl Iterator; } MyContainer рдХрд╛ рд▓рд╛рдЧрд┐ impl рдХрдиреНрдЯреЗрдирд░ { fn рд╡рд╕реНрддреБрд╣рд░реВ(&self) -> impl Iterator { self.items.iter().cloned() } }

    рддрдкрд╛рдИрд▓реЗ "async fn" рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдкрдирд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рд╡рд┐рд╢реЗрд╖рддрд╛ HttpService { async fn fetch(&self, url: Url) -> HtmlBody; // рдорд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдиреЗрдЫ: // fn fetch(&self, url: Url) -> impl Future; }

  • рд╕реВрдЪрдХрд╣рд░реВрдХреЛ рд╕рд╛рдкреЗрдХреНрд╖ рдмрд╛рдЗрдЯ рдЕрдлрд╕реЗрдЯрд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░реНрди API рдердкрд┐рдпреЛред рдмреЗрдпрд░ рдкреЛрдЗрдиреНрдЯрд░реНрд╕ ("*const T" рд░ "*mut T") рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рд╕реВрдЪрдХрдорд╛ рдЕрдлрд╕реЗрдЯ рдердкреНрди рдЕрдкрд░реЗрд╕рдирд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рд╣реБрди рд╕рдХреНрдЫред рдкрд╣рд┐рд▓реЗ, рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ "::add(1)" рдЬрд╕реНрддреЛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдерд┐рдпреЛ, "size_of::()" рдХреЛ рдЖрдХрд╛рд░рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдердкреНрджреИред рдирдпрд╛рдБ API рд▓реЗ рдпреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫ рд░ рдкрд╣рд┐рд▓реЗ "*const u8" рд╡рд╛ "*mut u8" рдорд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдХрд╛рд╕реНрдЯ рдирдЧрд░реА рдмрд╛рдЗрдЯ рдЕрдлрд╕реЗрдЯрд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред
    • рд╕реВрдЪрдХ::byte_add
    • рд╕реВрдЪрдХ::byte_offset
    • рд╕реВрдЪрдХ::byte_offset_from
    • рд╕реВрдЪрдХ::byte_sub
    • рд╕реВрдЪрдХ:: wrapping_byte_add
    • рд╕реВрдЪрдХ:: wrapping_byte_offset
    • рд╕реВрдЪрдХ:: wrapping_byte_sub
  • rustc рдХрдореНрдкрд╛рдЗрд▓рд░рдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдмрдврд╛рдЙрди рдирд┐рд░рдиреНрддрд░ рдХрд╛рдоред BOLT рдЕрдиреБрдХреВрд▓рдХ рдердкрд┐рдпреЛ, рдЬреБрди рдкреЛрд╕реНрдЯ-рд▓рд┐рдЩреНрдХ рдЪрд░рдгрдорд╛ рдЪрд▓реНрдЫ рд░ рдкреВрд░реНрд╡-рддрдпрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░реЛрдлрд╛рдЗрд▓рдмрд╛рдЯ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред BOLT рдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреНрдпрд╛рд╕рдХреЛ рдердк рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ librustc_driver.so рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдбрдХреЛ рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрд░ рд▓рдЧрднрдЧ 2% рд╕рдореНрдо рдХрдореНрдкрд╛рдЗрд▓рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

    LLVM рдорд╛ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдЧреБрдгрд╕реНрддрд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрди "-Ccodegen-units=1" рд╡рд┐рдХрд▓реНрдк рд╕рдВрдЧ rustc рдХрдореНрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрдорд╛рдг рд╕рдорд╛рд╡реЗрд╢ред рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдПрдХрд╛ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрд▓реЗ "-Ccodegen-units=1" рдирд┐рд░реНрдорд╛рдгрдХреЛ рдорд╛рдорд▓рд╛рдорд╛ рд▓рдЧрднрдЧ 1.5% рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рдирдорд╛ рд╡реГрджреНрдзрд┐ рджреЗрдЦрд╛рдЙрдБрджрдЫред рдердкрд┐рдПрдХрд╛ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ x86_64-unknown-linux-gnu рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рд╣реБрдиреНрдЫрдиреНред

    рдкрд╣рд┐рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХрд╛ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рд░рд╕реНрдЯрдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдПрдиреНрдбреНрд░реЛрдЗрдб рдкреНрд▓реЗрдЯрдлрд░реНрдо рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХрдо рдЧрд░реНрди Google рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдПрдиреНрдбреНрд░реЛрдЗрдб рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджрд╛ "-C codegen-units=1" рдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЯреВрд▓рдХрд┐рдЯрдХреЛ рдЖрдХрд╛рд░ 5.5% рд▓реЗ рдШрдЯрд╛рдЙрди рд░ 1.8% рд▓реЗ рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдмрдврд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛ, рдЬрдмрдХрд┐ рдЯреВрд▓рдХрд┐рдЯрдХреЛ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рд▓рдЧрднрдЧ рджреЛрдмреНрдмрд░ рднрдпреЛред

    рд▓рд┐рдЩреНрдХ-рд╕рдордп рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рди ("--gc-sections") рд╕рдХреНрд╖рдо рдЧрд░реНрдирд╛рд▓реЗ 1.9% рд╕рдореНрдо рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рд▓реНрдпрд╛рдпреЛ, рд▓рд┐рдЩреНрдХ-рдЯрд╛рдЗрдо рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди (LTO) рд▓рд╛рдИ 7.7% рд╕рдореНрдо, рд░ рдкреНрд░реЛрдлрд╛рдЗрд▓-рдЖрдзрд╛рд░рд┐рдд рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди (PGO) рд▓рд╛рдИ 19.8% рд╕рдореНрдо рд▓реНрдпрд╛рдпреЛред рдлрд╛рдЗрдирд▓рдорд╛, BOLT рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреБрдХреВрд▓рдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛ, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ 24.7% рдорд╛ рдирд┐рд░реНрдорд╛рдг рдЧрддрд┐ рдмрдврд╛рдЙрди рд╕рдореНрднрд╡ рдмрдирд╛рдпреЛ, рддрд░ рдЯреБрд▓рдХрд┐рдЯрдХреЛ рдЖрдХрд╛рд░ 10.9% рд▓реЗ рдмрдвреНрдпреЛред

    рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ Rust 1.75 рд░ unikernel Hermit 0.6.7 рдХреЛ рд░рд┐рд▓реАрдЬ

  • рдПрдкреАрдЖрдИ рдХреЛ рдПрдХ рдирдпрд╛рдБ рднрд╛рдЧ рд╕реНрдерд┐рд░ рдХреЛ рд╢реНрд░реЗрдгреА рдорд╛ рд╕рд╛рд░рд┐рдпреЛ, рд╡рд┐рдзрд┐рд╣рд░реБ рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд╣рд┐рдд рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ:
    • рдкрд░рдорд╛рдгреБ*::from_ptr
    • рдлрд╛рдЗрд▓рдЯрд╛рдЗрдореНрд╕
    • FileTimesExt
    • рдлрд╛рдЗрд▓::set_modified
    • рдлрд╛рдЗрд▓::рд╕реЗрдЯ_рдЯрд╛рдЗрдореНрд╕
    • IpAddr::to_canonical
    • Ipv6Addr::to_canonical
    • рд╡рд┐рдХрд▓реНрдк:: as_slice
    • рд╡рд┐рдХрд▓реНрдк:: as_mut_slice
    • рд╕реВрдЪрдХ::byte_add
    • рд╕реВрдЪрдХ::byte_offset
    • рд╕реВрдЪрдХ::byte_offset_from
    • рд╕реВрдЪрдХ::byte_sub
    • рд╕реВрдЪрдХ:: wrapping_byte_add
    • рд╕реВрдЪрдХ:: wrapping_byte_offset
    • рд╕реВрдЪрдХ:: wrapping_byte_sub
  • "const" рд╡рд┐рд╢реЗрд╖рддрд╛, рдЬрд╕рд▓реЗ рд╕реНрдерд┐рд░рддрд╛рдХреЛ рд╕рдЯреНрдЯрд╛ рдХреБрдиреИ рдкрдирд┐ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ, рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ:
    • Ipv6Addr::to_ipv4_mapped
    • рд╕рд╛рдпрджUninit::assume_init_read
    • рд╣реБрдирд╕рдХреНрдЫUninit::zeroed
    • mem:: рднреЗрджрднрд╛рд╡рдкреВрд░реНрдг
    • mem::zeroed
  • рд╕рдорд░реНрдердирдХреЛ рддреЗрд╕реНрд░реЛ рд╕реНрддрд░ csky-unknown-linux-gnuabiv2hf, i586-unknown-netbsd рд░ mipsel-unknown-netbsd рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреЗрд╕реНрд░реЛ рддрд╣рдорд╛ рдЖрдзрд╛рд░рднреВрдд рд╕рдорд░реНрдерди рд╕рдорд╛рд╡реЗрд╢ рдЫ, рддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдмрд┐рдирд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ, рд╡рд╛ рдХреЛрдб рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдХрд┐ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдирдЧрд░реАред

рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореА рд╣рд░реНрдорд┐рдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓рд╛рдИ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, рдЬрд╕рд▓реЗ рд░рд╕реНрдЯ рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рд╡рд┐рд╢реЗрд╖ рдХрд░реНрдиреЗрд▓ (рдпреБрдирд┐рдХрд░реНрдиреЗрд▓) рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫ, рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╣рд╣рд░реВ рдмрд┐рдирд╛ рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░ рд╡рд╛ рдмреЗрдпрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдЪрд▓реНрди рд╕рдХреНрдиреЗ рдЖрддреНрдо-рдирд┐рд╣рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рд░ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдмрд┐рдирд╛ред рдЬрдм рдирд┐рд░реНрдорд┐рдд рд╣реБрдиреНрдЫ, рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ OS рдХрд░реНрдиреЗрд▓ рд░ рдкреНрд░рдгрд╛рд▓реА рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдмрд┐рдирд╛, рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рд╣рд░реВ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб Apache 2.0 рд░ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред Rust, Go, Fortran, C рд░ C++ рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╕реНрдЯреНрдпрд╛рдиреНрдб-рдЕрд▓реЛрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрд╕реЗрдореНрдмрд▓реА рд╕рдорд░реНрдерд┐рдд рдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдЖрдлреНрдиреИ рдмреБрдЯрд▓реЛрдбрд░ рдкрдирд┐ рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ QEMU рд░ KVM рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рд░реНрдорд┐рдЯ рд╕реБрд░реБ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

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

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