рд░рд╕реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ 1.52 рд░рд┐рд▓реАрдЬ

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

рд░рд╕реНрдЯрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЗрдореЛрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓рд╛рдИ рдкреЛрдЗрдиреНрдЯрд░рд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрджрд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдмрд╛рдЯ рдмрдЪрд╛рдЙрдБрдЫ рд░ рдирд┐рдореНрди-рд╕реНрддрд░ рдореЗрдореЛрд░реА рд╣реЗрд░рдлреЗрд░рдХреЛ рдХрд╛рд░рдг рдЙрддреНрдкрдиреНрди рд╣реБрдиреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдмрд╛рдЯ рдЬреЛрдЧрд╛рдЙрдБрдЫ, рдЬрд╕реНрддреИ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░рд▓рд╛рдИ рдЦрд╛рд▓реА рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ, рдирд▓ рдкреЛрдЗрдиреНрдЯрд╣рд░реВ, рдмрдлрд░ рдУрднрд░рд░рдиреНрд╕, рдЗрддреНрдпрд╛рджрд┐ред рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрди, рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд░ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди, рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдХрд╛рд░реНрдЧреЛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫред crates.io рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерд┐рдд рдЫред

рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВ:

  • "рдХрд╛рд░реНрдЧреЛ рдЪреЗрдХ" рд░ "рдХрд╛рд░реНрдЧреЛ рдХреНрд▓рд┐рдкреА" рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдХреНрд░рдордорд╛ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╣рдЯрд╛рдЗрдпреЛред рдкрд╣рд┐рд▓реЗ, "рдХрд╛рд░реНрдЧреЛ рдЪреЗрдХ" рдкрдЫрд┐ "рдХрд╛рд░реНрдЧреЛ рдХреНрд▓рд┐рдкреА" рдХрд▓ рдЧрд░реНрджрд╛ рдпреА рдЪреЗрдХ рдореЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрдпрд╛рд╕ рдкреГрдердХреАрдХрд░рдгрдХреЛ рдХрдореАрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдХреНрд▓рд┐рдкрдкреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рд▓рд┐рдиреНрдЯрд░) рд╕реБрд░реБ рднрдПрдиред рдЕрдм рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рднрдПрдХреЛ рдЫ рд░ "рдХрд╛рд░реНрдЧреЛ рдХреНрд▓рд┐рдкреА" рд░ "рдХрд╛рд░реНрдЧреЛ рдЪреЗрдХ" рднрдирд┐рдиреЗ рдХреНрд░рдо рдЕрдм рдлрд░рдХ рдкрд░реНрджреИрдиред
  • API рдХреЛ рдирдпрд╛рдБ рднрд╛рдЧрд▓рд╛рдИ рд╕реНрдерд┐рд░ рдХреЛрдЯреАрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рдирд┐рдореНрди рд╡рд┐рдзрд┐рд╣рд░реВ рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ:
    • рддрд░реНрдХ::as_str
    • char::MAX
    • char::REPLACEMENT_CHARACTER
    • char::UNICODE_VERSION
    • char::decode_utf16
    • char::from_digit
    • char::from_u32_uncheck
    • char::from_u32
    • рд╕реНрд▓рд╛рдЗрд╕:: partition_point
    • str::rsplit_one
    • str::split_one
  • "const" рд╡рд┐рд╢реЗрд╖рддрд╛, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдерд┐рд░рддрд╛рдХреЛ рд╕рдЯреНрдЯрд╛ рдХреБрдиреИ рдкрдирд┐ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ, рд╡рд┐рдзрд┐рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ:
    • char::len_utf8
    • char::len_utf16
    • char::to_ascii_uppercase
    • char::to_ascii_lowercase
    • char::eq_ignore_ascii_case
    • u8::to_ascii_uppercase
    • u8::to_ascii_lowercase
    • u8::eq_ignore_ascii_case
  • рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдмреНрд▓рдХрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдлреНрд░реЗрдо рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди lint рдЬрд╛рдБрдЪ unsafe_op_in_unsafe_fn рдердкрд┐рдпреЛред
  • рдпрд╕рд▓рд╛рдИ рдПрд░реЗ рддрддреНрд╡рдХреЛ рдкреНрд░рдХрд╛рд░рдорд╛ рд╕реВрдЪрдХрдХреЛ рд░реВрдкрдорд╛ рдПрд░реЗрд╣рд░реВрдорд╛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реВрдЪрдХрд╣рд░реВ рдХрд╛рд╕реНрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫред let mut x: [usize; реи] = [реж, реж]; рдЪрд▓реЛ p = &mut x рдХреЛ рд░реВрдкрдорд╛ *mut use; рдЪрд▓реЛ p = &mut x *const usize;
  • 9 рдирдпрд╛рдБ рдЪреЗрдХ рдХреНрд▓рд┐рдкреА (рд▓рд┐рдиреНрдЯрд░) рдорд╛ рдердкрд┐рдПрдХреЛ рдЫред
  • рдХрд╛рд░реНрдЧреЛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХрд▓реЗ рдЕрдм рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ JSON рдорд╛ "manifest_path" рдХреНрд╖реЗрддреНрд░ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред crates.io рднрдгреНрдбрд╛рд░рдорд╛ SPDX 3.11 рдврд╛рдБрдЪрд╛рдорд╛ рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред
  • рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЪрд▓рд╛рдЙрдБрджрд╛ рдзреЗрд░реИ рдлрд┐рд▓реНрдЯрд░рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ "рдХрд╛рд░реНрдЧреЛ рдкрд░реАрдХреНрд╖рдг - foo рдмрд╛рд░" рдорд╛рд╕реНрдХ "foo" рд░ "bar" рд╕рдБрдЧ рдорд┐рд▓реНрдиреЗ рд╕рдмреИ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЪрд▓рд╛рдЙрдиреЗрдЫред
  • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд LLVM рдЯреВрд▓рдХрд┐рдЯ LLVM 12 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд╕рдорд░реНрдердирдХреЛ рддреЗрд╕реНрд░реЛ рд╕реНрддрд░ s390x-unknown-linux-musl, riscv32gc-unknown-linux-musl, riscv64gc-unknown-linux-musl рд░ powerpc-unknown-openbsd рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреЗрд╕реНрд░реЛ рддрд╣рдорд╛ рдЖрдзрд╛рд░рднреВрдд рд╕рдорд░реНрдерди рд╕рдорд╛рд╡реЗрд╢ рдЫ, рддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдмрд┐рдирд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ, рд╡рд╛ рдХреЛрдб рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдХрд┐ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдирдЧрд░реАред

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

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