рд░рд╕реНрдЯ рднрд╛рд╖рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдЪрд╣рд░реВрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг

Rust-for-Linux рдкрд░рд┐рдпреЛрдЬрдирд╛рдХрд╛ рд▓реЗрдЦрдХ рдорд┐рдЧреБрдПрд▓ рдУрдЬреЗрдбрд╛рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЪрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ Rust рднрд╛рд╖рд╛рдорд╛ рдЙрдкрдХрд░рдг рдбреНрд░рд╛рдЗрднрд░рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди v5 рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдЬрд╛рд░реА рдЧрд░реНрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реЗред рдпреЛ рдкреНрдпрд╛рдЪрд╣рд░реВрдХреЛ рдЫреИрдЯреМрдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ, рдкрд╣рд┐рд▓реЛ рд╕рдВрд╕реНрдХрд░рдгрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рд╕рдВрд╕реНрдХрд░рдг рдирдореНрдмрд░ рдмрд┐рдирд╛ рдкреНрд░рдХрд╛рд╢рд┐рддред Rust рд╕рдорд░реНрдерди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдорд╛рдирд┐рдиреНрдЫ, рддрд░ рдкрд╣рд┐рд▓реЗ рдиреИ linux-next рд╢рд╛рдЦрд╛рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдХрд░реНрдиреЗрд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдПрдмреНрд╕реНрдЯреНрд░реЗрдХреНрд╢рди рд▓реЗрдпрд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди, рд╕рд╛рдереИ рдбреНрд░рд╛рдЗрднрд░рд╣рд░реВ рд░ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд▓реЗрдЦреНрдиреЗ рдХрд╛рдо рд╕реБрд░реБ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдкрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рд╡рд┐рдХрд╛рд╕ Google рд░ ISRG (Internet Security Research Group) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рдЫ, рдЬреЛ Let's Encrypt рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕рдВрд╕реНрдерд╛рдкрдХ рд╣реЛ рд░ HTTPS рд░ рдЗрдиреНрдЯрд░рдиреЗрдЯ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдмрдврд╛рд╡рд╛ рджрд┐рдиреНрдЫред

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

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

рдкреНрдпрд╛рдЪрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ рдкреНрдпрд╛рдЪрдХреЛ рдкрд╣рд┐рд▓реЛ, рджреЛрд╕реНрд░реЛ, рддреЗрд╕реНрд░реЛ, рдЪреМрдереЛ рд░ рдкрд╛рдБрдЪреМрдВ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рдЫрд▓рдлрд▓рдХреЛ рдХреНрд░рдордорд╛ рдЧрд░рд┐рдПрдХрд╛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрд▓рд╛рдИ рд╣рдЯрд╛рдЙрди рдЬрд╛рд░реА рд░рд╛рдЦреЗрдХреЛ рдЫред рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛:

  • Rust 1.59.0 рдЬрд╛рд░реА рдЧрд░реНрди рдЯреВрд▓рдХрд┐рдЯ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред Alloc рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдкрдирд┐ Rust рдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд╕рдБрдЧ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддреНрд░реБрдЯрд┐рд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрджрд╛, рдЬрд╕реНрддреИ рдореЗрдореЛрд░реА рдмрд╛рд╣рд┐рд░ "рдкреНрдпрд╛рдирд┐рдХ" рдЕрд╡рд╕реНрдерд╛рдХреЛ рд╕рдореНрднрд╛рд╡рд┐рдд рдкреБрд╕реНрддрд╛рд▓рд╛рдИ рд╣рдЯрд╛рдЙрдБрджреИред рдПрд╕реЗрдореНрдмрд▓рд░ рдЗрдиреНрд╕рд░реНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ ("рд╕реБрд╡рд┐рдзрд╛(global_asm)") рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд░рд╕реНрдЯрдорд╛ рд╣реЛрд╕реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ рдЬреБрди рдХрд░реНрдиреЗрд▓ рд╕рдВрдХрд▓рдирдХреЛ рд╕рдордпрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
  • рдкреВрд░реНрд╡-рдЙрддреНрдкрдиреНрди рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд░реНрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯреАрдХрд░рдг рдлрд╛рдЗрд▓рд╣рд░реВ рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, рддрд┐рдиреАрд╣рд░реВ рдХрд░реНрдиреЗрд▓ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫрдиреНред
  • рд░рд╕реНрдЯрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдХреНрд╖рдо рдЧрд░реНрди HAVE_RUST рдХрд░реНрдиреЗрд▓ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдердкрд┐рдпреЛред
  • рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирдореНрдмрд░ рдЬрдирд░реЗрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рд░рд╕реНрдЯ рдХреЛрдбрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдПрдмреНрд╕реНрдЯреНрд░реНрдпрд╛рдХреНрд╢рдирд╣рд░реВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫрдиреНред
  • C рдорд╛ рддреНрд░реБрдЯрд┐ рдХреЛрдбрд╣рд░реВрдХреЛ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩ рдЕрдиреБрдорд╛рдирд┐рдд рдЧрд░реНрди "Error::" рдЙрдкрд╕рд░реНрдЧ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "Return Err(EINVAL)") рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐ рдХреЛрдбрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛред
  • рдЕрдиреБрдХреВрд▓рди C-рд╕реНрдЯреНрд░рд┐рдЩрдХрд╛ рд▓рд╛рдЧрд┐ "CSstring" рдкреНрд░рдХрд╛рд░ рдердкрд┐рдпреЛред рдврд╛рдБрдЪрд╛ рд░ рдмрдлрд░ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдЬреЛрдбрд┐рдПрдХрд╛ рдЫрдиреНред
  • Bool рд░ LockInfo рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдердкрд┐рдпреЛред
  • рд╕реНрдкрд┐рди рд▓рдХрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫред

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

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