рд░рд╕реНрдЯ рдЯреАрдо рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг, 1.39.0 рдХреА рд░рд┐рд▓реАрдЬ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рд╕рдиреНрди рд╣реИред рдЬрдВрдЧ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рд╕рднреА рдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдХреБрд╢рд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рдЬрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдВрдЧ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╕рдВрд╕реНрдХрд░рдг 1.39.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ rustup update stable
рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ rustup
рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреЗрдЬ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА rustup
рдкрд░ рд╡рд┐рд╕реНрддреГрдд рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг 1.39.0 рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдореЗрдВ async
/ .await
, match-guards
рдореЗрдВ рдЪрд▓ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рд╕рдВрджрд░реНрдн рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯ рджреЗрдЦреЗрдВред
ред .await
рд╕рд╛рде, async fn
рдорд┐рд▓рддреЗ рд╣реИрдВ
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд░рд╕реНрдЯ 1.36.0 рдореЗрдВ, рд╣рдордиреЗ Future
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреАред рдлрд┐рд░ рд╣рдордиреЗ рдиреЛрдЯ рдХрд┐рдпрд╛ рдХрд┐:
рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдирд╡рд╛рдЪрд╛рд░ рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрд░реЗрдЯ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдкреВрд░реЗ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдХреЛ .await
/ .await
рдХреА рддреИрдпрд╛рд░реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ .await
, рдЬрд┐рд╕реЗ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
рд╡рдЪрди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╡рд╛рджрд╛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд async
/ .await
, рдЬреЛ рд╣рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдмреНрд▓реЙрдХреЛрдВ ( async
) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди ( .await
) рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЖрдЦрд┐рд░рдХрд╛рд░ рд╕реНрдерд┐рд░ рд╣реИ!
рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрдВрдХреНрд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ (рд╕рд╛рдорд╛рдиреНрдп fn
рдмрдЬрд╛рдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ рдЬреЛ Future
рдЧреБрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдирд┐рд▓рдВрдмрд┐рдд рдЧрдгрдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ .await
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, async fn
, async { ... }
рдФрд░ async move { ... }
рдХреНрд▓реЛрдЬрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╢рд╛рдмреНрджрд┐рдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдирд┐рдХреЛ рдорддреНрд╕рдХрд┐рд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ async
/ .await
рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
match-guards
рдореЗрдВ рд░реЛрдорд┐рдВрдЧ рд╡реИрд▓реНрдпреВ рдХреЗ рд▓рд┐рдВрдХ рд╕рд╛рдЭрд╛ рдХрд┐рдП
рдЫрд╡рд┐ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рддреЗ рд╕рдордп, рдмрдВрдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЪрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдмрдВрдзрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
рд╕рдВрджрд░реНрдн рд╕реЗ, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ref mut my_var
рдХреНрд░рдорд╢рдГ рд╕рд┐рдВрдЯреИрдХреНрд╕ ref my_var
рдпрд╛ ref mut my_var
ред рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛, рд╕реНрдиреИрдк рдореЛрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореВрд▓реНрдп рд╕реЗ - рдпрд╛ рддреЛ рдХреЙрдкреА рдХрд░рдХреЗ (рдпрджрд┐ рдмрд╛рдЙрдВрдб рдЪрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ Copy
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ), рдпрд╛ рдЗрд╕реЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗред
рдЕрдм рдпрджрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЗрд╕ рдЪрд░ (рдпрд╛рдиреА рдмрд╛рдЗрдВрдб-рдмрд╛рдп-рдореВрд╡ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЪрд░) рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдкрд╣рд▓реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
fn main() { let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]); match array { nums
рдЬрдВрдЧ 1.39.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ , рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдКрдкрд░ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдирд╡рд╛рдЪрд╛рд░ рд╕реЗ match
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрдврд╝ рдЬрд╛рдПрдЧреАред
рдлрд╝рдВрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдЬрдВрдЧ 1.39.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░, рдХреНрд▓реЛрдЬрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░реНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ, len()
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
#[cfg(windows)] fn len(slice: &[u16]) -> usize { slice.len() } #[cfg(not(windows))] fn len(slice: &[u8]) -> usize { slice.len() }
рд▓реЗрдХрд┐рди рдЬрдВрдЧ 1.39.0 рдХреЛрдб рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рд╕реЗ рдКрдкрд░ рд▓рд┐рдЦрддреА рд╣реИ:
fn len( #[cfg(windows)] slice: &[u16],
рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди: cfg
рдФрд░ cfg_attr
;
рдкреНрд░рдмрдВрдзрди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ: allow
, warn
, deny
рдФрд░ forbid
;
рд╕рд┐рдВрдЯреИрдХреНрд╕ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореИрдХреНрд░реЛрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╣рд╛рдпрдХ рдЧреБрдгред
рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдирд╡рд╛рдЪрд╛рд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдЕрдзрд┐рдХ рдЕрднрд┐рд╡реНрдпрдВрдЬрдХ рдореИрдХреНрд░реЛ-рдЖрдзрд╛рд░рд┐рдд рдбреАрдПрд╕рдПрд▓ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
Rust 2018 рдореЗрдВ рдЪреЗрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЧрдВрднреАрд░ рд╣реЛрдирд╛
1.35.0 рд░рд┐рд▓реАрдЬ рдореЗрдВ, рд╣рдордиреЗ рдШреЛрд╖рдгрд╛ рдХреА рдХрд┐ рдирдпрд╛ рдЙрдзрд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ (рдПрдирдПрд▓рдПрд▓) рд░реБрд╕реНрдЯ 2015 рдХреЗ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░реБрд╕реНрдЯ 2018 рдХреЗ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 1.31 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ 1.35.0 рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдкрд┐рдЫрд▓реЗ рдЙрдзрд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдЙрди рдмрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рдереЗред рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдирдП рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдПрдирдПрд▓рдПрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЪреВрдБрдХрд┐ рдпреЗ рд╕реБрдзрд╛рд░ рдХрд╛рд░реНрдп рдХреЛрдб рдХреЛ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд░реБрд╕реНрдЯ рдЯреАрдо рдиреЗ рдЙрдиреНрд╣реЗрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдХреЛрдб рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдирдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЪреЗрддрд╛рд╡рдиреА рдмрди рдЬрд╛рдПрдЧрд╛ред
рдЬрдВрдЧ 1.39.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдпреЗ рдЪреЗрддрд╛рд╡рдиреА рдЕрдм Rust 2018 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдЧ рд╣реИрдВред
1.40.0 рд░реБрд╕реНрдЯ рдХреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ, рдпрд╣ рдирд┐рдпрдо рд░реВрд╕реНрдЯ 2015 рд╕рдВрд╢реЛрдзрди рдХреЛрдб рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛, рдЬреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рдкреБрд░рд╛рдиреЗ рдЙрдзрд╛рд░ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВ, рдпрд╛ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдХреЛ рдорддреНрд╕рдХрд┐рд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВ ред
рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдзрд┐рдХ рдирд┐рд░рдВрддрд░ рдХрд╛рд░реНрдп
рд░реБрд╕реНрдЯ 1.39.0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ const fn
( const fn
) рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдп
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп Rust 1.39.0 рдореЗрдВ рд╕реНрдерд┐рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди
рд╕рд┐рдВрдЯреИрдХреНрд╕ , рдХрд╛рд░реНрдЧреЛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░, рдФрд░ рдХреНрд▓рд┐рдкреНрдкреА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рднреА рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдЧреБрдЬрд░реЗ рд╣реИрдВред
рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЖрдк рдкрд░ рдЕрд╕рд░ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рд╕рдВрдЧрддрддрд╛ рдиреЛрдЯ рдкрдврд╝реЗрдВред
рд╕рджрд╕реНрдп 1.39.0
рд░рд╕реНрдЯ 1.39.0 рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдПрдХ рд╕рд╛рде рдЖрдПред рд╣рдо рдЖрдк рд╕рднреА рдХреЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ, рдзрдиреНрдпрд╡рд╛рдж !
рдЕрдиреБрд╡рд╛рджрдХреЛрдВ рд╕реЗ
рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рдкрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде, рд╡реЗ рд░реВрд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдЯ рдореЗрдВ рдпрд╛ рдирд╡рд╛рдЧрдВрддреБрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдЪреИрдЯ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдпрд╣ рд▓реЗрдЦ andreevlex , рдмреНрд▓реИрдВрдбрд░ , рдлрдВрдХрд┐рд▓ рдФрд░ рд╣рд┐рдкреНрдкреЛрд▓реЙрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред