Rust 1.35 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкреНрд░рдХрд╛рд╢рди

рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкреНрд░рдХрд╛рд╢рди рдЧрдВрдЬ 1.35, Mozilla рдкреНрд░рдХрд▓реНрдкрд╛рджреНрд╡рд╛рд░реЗ рд╡рд┐рдХрд╕рд┐рдд. рднрд╛рд╖рд╛ рдореЗрдорд░реА рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ, рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдореЗрдорд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЖрдгрд┐ рдХрдЪрд░рд╛ рдЧреЛрд│рд╛ рдХрд░рдгрд╛рд░реЗ рдХрд┐рдВрд╡рд╛ рд░рдирдЯрд╛рдЗрдо рди рд╡рд╛рдкрд░рддрд╛ рдЙрдЪреНрдЪ рдХрд╛рд░реНрдп рд╕рдорд╛рдВрддрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХрд░рддреЗ.

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

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

  • рдЧреБрдгрд╡рд┐рд╢реЗрд╖ FnOnce, FnMut ╨╕ Fn рдвреАрдЧ рд╡рд╛рдЯрдкрд╛рд╕рд╛рдареА рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдмреЙрдХреНрд╕реНрдб рдкреНрд░рдХрд╛рд░ BoxтА╣dyn FnOnceтА║, BoxтА╣dyn FnMut тА║ рдЖрдгрд┐ BoxтА╣dyn FnтА║;
  • рдЬреЛрдбрд▓реЗ рд╕рдВрдзреА рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдлрдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░реНрд╕ (рдЕрд╕реБрд░рдХреНрд╖рд┐рдд fn) рд╡рд░ рдмрдВрдж рдХрд░рдгреЗ рдХрд╛рд╕реНрдЯ рдХрд░рдгреЗ;
  • рдореЕрдХреНрд░реЛрд▓рд╛ "dbg!" рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА. рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреА рддрдкрд╛рд╕рдгреА рди рдХрд░рддрд╛ stderr рдордзреНрдпреЗ рдлрд╛рдЗрд▓рдЪреЗ рдирд╛рд╡ рдЖрдгрд┐ рд▓рд╛рдЗрди рдирдВрдмрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреБрдХреНрддрд┐рд╡рд╛рдж рди рдХрд░рддрд╛, рдЬреЗ рдХрдВрдбрд┐рд╢рдирд▓ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд▓рд╛ рдбреАрдмрдЧ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ;
  • рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░ f32 рдЖрдгрд┐ f64 рдордзреНрдпреЗ " рдкрджреНрдзрдд рдЬреЛрдбрд▓реАрдХреЙрдкреАрд╕рд╛рдЗрди┬╗ рдПрдХрд╛ рдХреНрд░рдорд╛рдВрдХрд╛рд╡рд░реВрди рджреБрд╕рд▒реНрдпрд╛ рдХреНрд░рдорд╛рдВрдХрд╛рд╡рд░ рд╡рд░реНрдг рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА;
  • рдЬреЛрдбрд▓реЗрд▓реА рдкрджреНрдзрдд "рд╕рдорд╛рд╡рд┐рд╖реНрдЯреАрдд рдЖрд╣реЗ", рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдп рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ;
  • рдЬреЛрдбрд▓реЗрд▓реА рдкрджреНрдзрдд Ref:Cell:map_split, рддреБрдореНрд╣рд╛рд▓рд╛ рдЙрдзрд╛рд░ рдШреЗрддрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рдЙрдзрд╛рд░ рдШреЗрддрд▓реЗрд▓реЗ RefCell рдореВрд▓реНрдп рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдЖрдгрд┐ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ;
  • рдЬреЛрдбрд▓реЗрд▓реА рдкрджреНрдзрдд RefCell::replace_with рд╡рд░реНрддрдорд╛рди RefCell рдореВрд▓реНрдп рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгреВрди рдЬреБрдиреЗ рдореВрд▓реНрдп рдкрд░рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА;
  • рдЬреЛрдбрд▓реЗрд▓реА рдкрджреНрдзрдд ptr::рд╣реЕрд╢ рд╕рдВрдмреЛрдзрд┐рдд рдореВрд▓реНрдпрд╛рдРрд╡рдЬреА рдкрддреНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдкреЙрдЗрдВрдЯрд░ рдХрд┐рдВрд╡рд╛ рд╕рдВрджрд░реНрдн рд╣реЕрд╢ рдХрд░рдгреЗ;
  • рдЬреЛрдбрд▓реЗрд▓реА рдкрджреНрдзрдд рдкрд░реНрдпрд╛рдп::рдХреЙрдкреА рдХреЗрд▓реЗ OptionтА╣&TтА║ рдХрд┐рдВрд╡рд╛ OptionтА╣&mut TтА║ рдкрд░реНрдпрд╛рдпрд╛рдВрдЪреА рд╕рд╛рдордЧреНрд░реА рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА;
  • рдПрдкреАрдЖрдпрдЪрд╛ рдПрдХ рдирд╡реАрди рднрд╛рдЧ рд╕реНрдерд┐рд░ рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::рд╣реЕрд╢,
    рд╢реНрд░реЗрдгреА::рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ,
    RangeFrom::рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ,
    рд╢реНрд░реЗрдгреА::рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ,
    RangeInclusive::рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ,
    RangeToInclusive::рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ рдЖрдгрд┐
    рдкрд░реНрдпрд╛рдп::рдХреЙрдкреА рдХреЗрд▓реЗрд▓реЗ;

  • рдЬреЛрдбрд▓реЗрд▓реЗ рдбреНрд░реЙрдк_рдмрд╛рдЙрдВрдб рдЪреЗрдХ рдЯреВ рдХреНрд▓рд┐рдкреА (рд▓рд┐рдВрдЯрд░), рдЬреЗ рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ тАЬT: рдбреНрд░реЙрдктАЭ рдмрдВрдзрди рдЬреЛрдбрддрд╛рдирд╛ рдЯреНрд░рд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ;
  • рдХрдВрдкрд╛рдЗрд▓рд░рдиреЗ рдирд╡реАрди рд▓рдХреНрд╖реНрдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ
    wasm32-рдЕрдЬреНрдЮрд╛рдд-рд╡рд╛рд╕реА (рдЗрдВрдЯрд░рдлреЗрд╕ рдореА рд╣реЛрддреЛ рдмреНрд░рд╛рдЙрдЭрд░рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ WebAssembly рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА);

  • рд░рд╕реНрдЯ рдЯреВрд▓рдХрд┐рдЯ рдорд╛рдирдХ C рд▓рд╛рдпрдмреНрд░рд░реА Musl рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рддрд░рдгрд╛рд╕рд╛рдареА рд░реБрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

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

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