рдЬрдВрдЧ 1.66 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ

рдореЛрдЬрд╝рд┐рд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рд░рд╕реНрдЯ 1.66 рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреА рд░рд┐рд▓реАрдЬрд╝, рд▓реЗрдХрд┐рди рдЕрдм рд╕реНрд╡рддрдВрддреНрд░ рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рд╕рдВрдЧрдарди рд░рд╕реНрдЯ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рддрддреНрд╡рд╛рд╡рдзрд╛рди рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рд╣реИред рднрд╛рд╖рд╛ рд╕реНрдореГрддрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╛рд╣рдХ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд░рддреЗ рд╣реБрдП рдЙрдЪреНрдЪ рдХрд╛рд░реНрдп рд╕рдорд╛рдирддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ (рд░рдирдЯрд╛рдЗрдо рдХреЛ рдмреБрдирд┐рдпрд╛рджреА рдЖрд░рдВрднреАрдХрд░рдг рдФрд░ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

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

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

рдореБрдЦреНрдп рдирд╡рд╛рдЪрд╛рд░:

  • рдкреВрд░реНрдгрд╛рдВрдХ рдЕрднреНрдпрд╛рд╡реЗрджрди ("#[repr(Int)]" рд╡рд┐рд╢реЗрд╖рддрд╛) рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдореЗрдВ, рд╡рд┐рд╡реЗрдЪрдХ (рдЧрдгрдирд╛ рдореЗрдВ рднрд┐рдиреНрди рд╕рдВрдЦреНрдпрд╛) рдХреЗ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрдд рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рднрд▓реЗ рд╣реА рдЧрдгрдирд╛ рдореЗрдВ рдлрд╝реАрд▓реНрдб рд╣реЛрдВред #[repr(u8)] рдПрдирдо рдлреВ {рдП(рдпреВ8), # рдбрд┐рд╕реНрдХреНрд░рд┐рдорд┐рдиреЗрдВрдЯ 0 рдмреА(i8), # рдбрд┐рд╕реНрдХреНрд░рд┐рдорд┐рдиреЗрдВрдЯ 1 рд╕реА(рдмреВрд▓) = 42, # рдбрд┐рд╕реНрдХреНрд░рд┐рдорд┐рдиреЗрдВрдЯ 42}
  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХреЛрд░ :: рд╕рдВрдХреЗрдд :: рдмреНрд▓реИрдХ_рдмреЙрдХреНрд╕ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рдХреЗрд╡рд▓ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдмреНрд▓реИрдХ_рдмреЙрдХреНрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдб рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп рдпрд╛ рдЙрддреНрдкрдиреНрди рдорд╢реАрди рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп рд▓реВрдк рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рддрд╛рдХрд┐ рд╕рдВрдХрд▓рдХ рдХреЛрдб рдХреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рди рдорд╛рдиреЗрдВ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, black_box(v.as_ptr()) рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдХреНрдЯрд░ v рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдПрд╕рдЯреАрдбреА рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ :: рд╕рдВрдХреЗрдд :: рдмреНрд▓реИрдХ_рдмреЙрдХреНрд╕; fn push_cap(v: &mut Vec) { for i in 0..4 { v.push(i); рдмреНрд▓реИрдХ_рдмреЙрдХреНрд╕ (v.as_ptr ()); } }
  • "рдХрд╛рд░реНрдЧреЛ" рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ "рдирд┐рдХрд╛рд▓реЗрдВ" рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ Cargo.toml рдореЗрдирд┐рдлреЗрд╕реНрдЯ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдПрдкреАрдЖрдИ рдХреЗ рдПрдХ рдирдП рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реНрдерд┐рд░ рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рд▓рдХреНрд╖рдгреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕реНрдерд┐рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
    • proc_macro::Span::source_text
    • рдпреВ*::{checked_add_signed, overflowing_add_signed, saturating_add_signed, Wrap_add_signed}
    • i*::{checked_add_unsigned, overflowing_add_unsigned, saturating_add_unsigned, Wrap_add_unsigned}
    • i*::{checked_sub_unsigned, overflowing_sub_unsigned, saturating_sub_unsigned, Wraping_sub_unsigned}
    • BTreeSet::{рдлрд░реНрд╕реНрдЯ, рд▓рд╛рд╕реНрдЯ, рдкреЙрдк_рдлрд░реНрд╕реНрдЯ, рдкреЙрдк_рд▓рд╛рд╕реНрдЯ}
    • BTreeMap::{first_key_value,last_key_value,first_entry,last_entry,pop_first,pop_last}
    • WASI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп stdio рд▓реЙрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП AsFd рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝реЗрдВред
    • рдЗрдореНрдкреНрд▓ рдЯреНрд░рд╛рдИрдлреНрд░реЙрдо > рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП <[рдЯреА; рдПрди]>
    • рдХреЛрд░ :: рд╕рдВрдХреЗрдд :: рдмреНрд▓реИрдХ_рдмреЙрдХреНрд╕
    • рдЕрд╡рдзрд┐::try_from_secs_{f32,f64}
    • рд╡рд┐рдХрд▓реНрдк :: рдЦреЛрд▓рдирд╛
    • рдПрд╕рдЯреАрдбреА :: рдУрдПрд╕ :: рдПрдлрдбреА
  • рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ "..X" рдФрд░ "..=X" рд╢реНрд░реЗрдгреА рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
  • рд░рд╕реНрдЯрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ LLVM рдмреИрдХрдПрдВрдб рдХреЗ рдлреНрд░рдВрдЯ рдПрдВрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, LTO (рд▓рд┐рдВрдХ рдЯрд╛рдЗрдо рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди) рдФрд░ BOLT (рдмрд╛рдЗрдирд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдПрдВрдб рд▓реЗрдЖрдЙрдЯ рдЯреВрд▓) рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • Armv5te-none-eabi рдФрд░ thumbv5te-none-eabi рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд▓реЗрд╡рд▓ XNUMX рд╕рдкреЛрд░реНрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рддреАрд╕рд░реЗ рд╕реНрддрд░ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдмреБрдирд┐рдпрд╛рджреА рд╕рдорд░реНрдерди рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд┐рдирд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ред
  • macOS рдЬреЗрдирд░рд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣рдо рд░рд╕реНрдЯ рд▓реИрдВрдЧреНрд╡реЗрдЬ (gccrs) рдХреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ GCC рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЛ рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреГрд╢реНрдпрдкрдЯрд▓ GCC 13 рд╢рд╛рдЦрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдордИ 2023 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред GCC 13 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдорд╛рдирдХ GCC рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ LLVM рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рд░рд╕реНрдЯрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд░рд╕реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред GCC 13 рдореЗрдВ рд░рд╕реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмреАрдЯрд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ