рд░рд╕реНрдЯ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдкреЙрдЗрдВрдЯрд░ рд╣реЗрд░рдлреЗрд░ рд╕реЗ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдореЗрдореЛрд░реА рд╣реЗрд░рдлреЗрд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдлреНрд░реА-рдлреНрд░реА рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕, рдирд▓ рдкреЙрдЗрдВрдЯрд░ рдбреАрд░реЗрдлрд░реЗрдВрд╕, рдмрдлрд░ рдУрд╡рд░рд░рди рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ, рдЕрд╕реЗрдВрдмрд▓реА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдореБрдЦреНрдп
- рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдпреБрдХреНрдд рд╕рдВрдХрд▓рди рдореЛрдб (рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдпреБрдХреНрдд) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реА рдПрдХ рдЖрд╢реНрд░рд┐рдд рдХреНрд░реЗрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛ред рдХрд┐рд╕реА рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЗрдХрдЯреНрдареА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдХрд╛рд░, рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд╣реА рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрдм рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХрд▓ рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╕рдордп, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдореЛрдб рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдирд┐рд░реНрдорд╛рдг рд╢рд╛рдЦрд╛рдмрджреНрдз рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдордЧреНрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордп 10-20% рддрдХ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ
std::mem::рдЕрдкреНрд░рд╛рд░рдВрднрд┐рдХ ╨╕std::mem::рд╢реВрдиреНрдп . рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, std::mem::uninitialized рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд╕рд░рдгрд┐рдпрд╛рдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЧреБрдорд░рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд░рдВрднреАрдХреГрдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рди рдЕрдкреНрд░рд╛рд░рдВрднреАрдХреГрдд рд░рд╣рддрд╛ рд╣реИред mem::uninitialized рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣рд┐рд╖реНрдХреГрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИрд╢рд╛рдпрдж рдЗрдХрд╛рдИ . рдЬрд╣рд╛рдБ рддрдХ mem::zeroed рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЙрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╢реВрдиреНрдп рдорд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗредрдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП, рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдПрдХ рд▓рд┐рдВрдЯ рдЪреЗрдХ рдЬреЛрдбрд╝рддреА рд╣реИ рдЬреЛ mem::uninitialized рдпрд╛ mem::zeroed рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдЖрдкрдХреЛ &T рдФрд░ BoxтА╣TтА║ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде mem::uninitialized рдпрд╛ mem::zeroed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдкреЙрдЗрдВрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╢реВрдиреНрдп рдорд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдХреНрд░реЗрдЯ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП "#[рдкрджрд╛рд╡рдирдд]" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░рд╕реНрдЯ 1.38 рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рд╕рдмрдореЙрдбреНрдпреВрд▓ рдореЗрдВ "#[рдЧреНрд▓реЛрдмрд▓_рдЖрд▓реЛрдХреЗрдЯрд░]" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ;
- рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
std::рдХреЛрдИ рднреА::type_name , рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд╛рдо рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:fn gen_valueтА╣T: рдбрд┐рдлрд╝реЙрд▓реНрдЯ>() -тА║ T {
println!('' {} рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛, std::any::type_name::тА╣TтА║());
рдбрд┐рдлрд╝реЙрд▓реНрдЯ::рдбрд┐рдлрд╝реЙрд▓реНрдЯ()
}рдПрдлрдПрди рдореБрдЦреНрдп() {
рдЪрд▓реЛ _: i32 = gen_value(); # "i32" рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдЪрд▓реЛ _: рд╕реНрдЯреНрд░рд┐рдВрдЧ = gen_value(); # "рдЖрд╡рдВрдЯрди::рд╕реНрдЯреНрд░рд┐рдВрдЧ::рд╕реНрдЯреНрд░рд┐рдВрдЧ" рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛
} - рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд╛рд░реНрдп:
- рд╕реНрд▓рд╛рдЗрд╕::{рдХреЙрдирдХреИрдЯ, рдХрдиреЗрдХреНрдЯ, рдЬреЙрдЗрди} рдЕрдм &T рдХреЗ рдЕрд▓рд╛рд╡рд╛ &[T] рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ;
- "*const T" рдФрд░ "*mut T" рдЕрдм рдорд╛рд░реНрдХрд░::рдЕрдирдкрд┐рди рд▓рд╛рдЧреВ рдХрд░реЗрдВ;
- "рдЖрд░реНрдХтА╣[T]тА║" рдФрд░ "RcтА╣[T]тА║" рдЕрдм FromIteratorтА╣TтА║ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ;
- iter::{StepBy, Peekable, Take} рдЕрдм DoubleEndedIterator рд▓рд╛рдЧреВ рдХрд░реЗрдВред
- ascii::EscapeDefault рдХреНрд▓реЛрди рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
- рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рдирдпрд╛ рднрд╛рдЧ рд╕реНрдерд┐рд░ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд┐рд░ рдХрд┐рдП рдЧрдП рддрд░реАрдХреЗ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
- тА╣*const TтА║::рдХрд╛рд╕реНрдЯ, тА╣*рдореНрдпреВрдЯ рдЯреАтА║::рдХрд╛рд╕реНрдЯ,
- рдЕрд╡рдзрд┐::as_secs_f{32|64},
- рдЕрд╡рдзрд┐::div_duration_f{32|64},
- рдЕрд╡рдзрд┐::div_f{32|64},
- рдЕрд╡рдзрд┐::from_secs_f{32|64},
- рдЕрд╡рдзрд┐::mul_f{32|64},
- рд╢реЗрд╖рдлрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд╛рдЬрди рд╕рдВрдХреНрд░рд┐рдпрд╛рдПрдБ
рд╕рднреА рдкреВрд░реНрдгрд╛рдВрдХ рдЖрджрд┐рдореЛрдВ рдХреЗ рд▓рд┐рдП div_euclid рдФрд░ rem_euclid;
- рдХрд╛рд░реНрдЧреЛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "--рдлреАрдЪрд░реНрд╕" рд╡рд┐рдХрд▓реНрдк рдХреЛ рдХрдИ рдмрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
- рд╕рдВрдХрд▓рдХ рдПрдХ рддрд┐рд╣рд╛рдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рд╕реНрддрд░ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди -рдЧреНрдиреБрдПрдмреА, рдПрдЖрд░рдПрдорд╡реА64-рдЕрдЬреНрдЮрд╛рдд-рд▓рд┐рдирдХреНрд╕-рдореБрд╕рд▓рдмреА, рд╣реЗрдХреНрд╕рд╛рдЧреЛрди-рдЕрдЬреНрдЮрд╛рдд-рд▓рд┐рдирдХреНрд╕-рдореБрд╕рд▓ рдФрд░ рд░рд┐рд╕реНрдХрд╡реА686рдЖрдИ-рдЕрдЬреНрдЮрд╛рдд-рдХреЛрдИ рдирд╣реАрдВ-рдПрд▓реНрдлред рддреАрд╕рд░реЗ рд╕реНрддрд░ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд┐рд▓реНрдб рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдмрд┐рдирд╛ред
рд╕реНрд░реЛрдд: opennet.ru