рд░рд╕реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ 2021 (1.56)

рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓рдБрдЧреНрд╡реЗрдЬ Rust 1.56 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди, Mozilla рдкреНрд░рдХрд▓реНрдкрд╛рджреНрд╡рд╛рд░реЗ рд╕реНрдерд╛рдкрд┐рдд, рдкрд░рдВрддреБ рдЖрддрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдирд╛-рдирдлрд╛ рд╕рдВрд╕реНрдерд╛ Rust Foundation рдЪреНрдпрд╛ рд╕рдВрд░рдХреНрд╖рдгрд╛рдЦрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдирд┐рдпрдорд┐рдд рдЖрд╡реГрддреНрддреА рдХреНрд░рдорд╛рдВрдХрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд░рд┐рд▓реАрдЭрд▓рд╛ рд░рд╕реНрдЯ 2021 рджреЗрдЦреАрд▓ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЧреЗрд▓реНрдпрд╛ рддреАрди рд╡рд░реНрд╖рд╛рдВрдд рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрджрд▓рд╛рдВрдЪреЗ рд╕реНрдерд┐рд░реАрдХрд░рдг рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддреЗ. рд░рд╕реНрдЯ 2021 рдкреБрдвреАрд▓ рддреАрди рд╡рд░реНрд╖рд╛рдВрдордзреНрдпреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзрд╛рд░ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░реЗрд▓, рдЬрд╕реЗ рдХреА рд░рд╕реНрдЯ 2018 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдЧреЗрд▓реНрдпрд╛ рддреАрди рд╡рд░реНрд╖рд╛рдВрдд рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рдЖрдзрд╛рд░ рдмрдирд▓реЗ рдЖрд╣реЗ.

рд╕реБрд╕рдВрдЧрддрддрд╛ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд┐рдХрд╛рд╕рдХ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдордзреНрдпреЗ "2015", "2018" рдЖрдгрд┐ "2021" рд▓реЗрдмрд▓реЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рд░рд╕реНрдЯрдЪреНрдпрд╛ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╕реНрд▓рд╛рдЗрд╕рд╢реА рдЬреЛрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╡рд┐рд╕рдВрдЧрдд рдмрджрд▓ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡реГрддреНрддреНрдпрд╛ рд╕рд╛рджрд░ рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрдгрд┐ "[рдкреЕрдХреЗрдЬ]" рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ "рд╕рдВрд╕реНрдХрд░рдг" рдлреАрд▓реНрдбрджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдЧреЛ рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛рдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "2018" рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ 2018 рдЪреНрдпрд╛ рдЕрдЦреЗрд░реАрд╕ рд╕реНрдерд┐рд░ рдХреЗрд▓реЗрд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЖрдгрд┐ рд╕реБрд╕рдВрдЧрддрддреЗрд▓рд╛ рдЦрдВрдбрд┐рдд рди рдХрд░рдгрд╛рд░реЗ рдкреБрдвреАрд▓ рд╕рд░реНрд╡ рдмрджрд▓ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. 2021 рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ 1.56 рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдордВрдЬреВрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА-рдмреНрд░реЗрдХрд┐рдВрдЧ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ. рднрд╛рд╖реЗрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕рдВрдкрд╛рджрдХ рд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдЪреА рд╕реНрдерд┐рддреА рджреЗрдЦреАрд▓ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд╛рдд.

рд░рд╕реНрдЯ 2021 рдордзреНрдпреЗ рдиреЛрдВрджрд╡рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдореБрдЦ рд╡рд┐рд╕рдВрдЧрддреА:

  • рдХреНрд▓реЛрдЬрд░рдордзреНрдпреЗ рд╡реЗрдЧрд│реЗ рдХреЕрдкреНрдЪрд░ - рдХреНрд▓реЛрдЬрд░ рдЖрддрд╛ рд╕рдВрдкреВрд░реНрдг рдУрд│рдЦрдХрд░реНрддреНрдпрд╛рдРрд╡рдЬреА рд╡реИрдпрдХреНрддрд┐рдХ рдлреАрд▓реНрдб рдирд╛рд╡реЗ рдХреЕрдкреНрдЪрд░ рдХрд░реВ рд╢рдХрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "|| ax + 1 "a" рдРрд╡рдЬреА рдлрдХреНрдд "ax" рдХреЕрдкреНрдЪрд░ рдХрд░реЗрд▓.
  • рдЕреЕрд░реЗрд╕рд╛рдареА IntoIterator рд╡реИрд╢рд┐рд╖реНрдЯреНрдп: array.into_iter() рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдВрджрд░реНрднрд╛рдВрдРрд╡рдЬреА рдореВрд▓реНрдпрд╛рдВрдиреБрд╕рд╛рд░ рдЕреЕрд░реЗ рдШрдЯрдХрд╛рдВрд╡рд░ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.
  • macro_rules рдордзреНрдпреЗ тАЬ|тАЭ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрджрд▓рд▓реА рдЖрд╣реЗ (рдмреВрд▓рд┐рдпрди рдХрд┐рдВрд╡рд╛) рдкреЕрдЯрд░реНрдирдордзреНрдпреЗ - рдореЕрдЪрдордзреАрд▓ ":рдкреЕрдЯ" рд╕реНрдкреЗрд╕рд┐рдлрд╛рдпрд░ рдЖрддрд╛ "A | рдм"
  • рдХрд╛рд░реНрдЧреЛ рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░рдордзреНрдпреЗ рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдлреАрдЪрд░ рд░рд┐рдЭреЙрд▓реНрд╡реНрд╣рд░рдЪреА рджреБрд╕рд░реА рдЖрд╡реГрддреНрддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рд░рд╕реНрдЯ 1.51 рдордзреНрдпреЗ рджрд┐рд╕реВрди рдЖрд▓реЗ.
  • TryFrom, TryInto рдЖрдгрд┐ FromIterator рдЧреБрдгрдзрд░реНрдо рдкреНрд░рд┐рд▓реНрдпреБрдб рд╕реНрдЯрдБрдбрд░реНрдб рд▓рд╛рдпрдмреНрд░рд░реА рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд.
  • рдШрд╛рдмрд░реВрди!(..) рдЖрдгрд┐ рдард╛рдордкрдгреЗ!(expr, ..) рдореЕрдХреНрд░реЛ рдЖрддрд╛ рдиреЗрд╣рдореА format_args!(..) рд╡рд╛рдкрд░рддрд╛рдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдлреЙрд░рдореЕрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, println!().
  • рдЕрднрд┐рд╡реНрдпрдХреНрддреА ident#, ident┬╗..." рдЖрдгрд┐ ident'...' рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╡рд╛рдХреНрдпрд░рдЪрдиреЗрдордзреНрдпреЗ рд░рд╛рдЦреАрд╡ рдЖрд╣реЗрдд.
  • bare_trait_objects рдЖрдгрд┐ ellipsis_inclusive_range_patterns рдЪреЗрддрд╛рд╡рдгреА рдПрд░рд░рдордзреНрдпреЗ рд╣рд▓рд╡рд▓реА.

рд░рд╕реНрдЯ 1.56 рдордзреНрдпреЗ рдирд╡реАрди:

  • Cargo.toml рдордзреНрдпреЗ, тАЬ[рдкреЕрдХреЗрдЬ]тАЭ рд╡рд┐рднрд╛рдЧрд╛рдд, рд░рд╕реНрдЯ-рд╡реНрд╣рд░реНрдЬрди рдлреАрд▓реНрдб рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреБрдореНрд╣реА рдХреНрд░реЗрдЯ рдкреЕрдХреЗрдЬрд╕рд╛рдареА рд░рд╕реНрдЯрдЪреА рдХрд┐рдорд╛рди рд╕рдорд░реНрдерд┐рдд рдЖрд╡реГрддреНрддреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░рд╢реА рдЬреБрд│рдд рдирд╕рд▓реНрдпрд╛рд╕, рдХрд╛рд░реНрдЧреЛ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢рд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдерд╛рдВрдмрд╡реЗрд▓.
  • "рдмрд╛рдЗрдВрдбрд┐рдВрдЧ @ рдкреЕрдЯрд░реНрди" рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░реВрди рдирдореБрдирд╛ рдЬреБрд│рд╡рддрд╛рдирд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "let matrix @ Matrix { row_len, .. } = get_matrix();").
  • API рдЪрд╛ рдПрдХ рдирд╡реАрди рднрд╛рдЧ рд╕реНрдерд┐рд░ рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд▓рд╡рд┐рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдкрджреНрдзрддреА рдЖрдгрд┐ рдЧреБрдгрдзрд░реНрдорд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрдерд┐рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ:
    • std::os::unix::fs::chroot
    • UnsafeCell::raw_get
    • BfWriter::into_parts
    • core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}
    • Vec::shrink_to
    • рд╕реНрдЯреНрд░рд┐рдВрдЧ::рд╕рдВрдХреЛрдЪрди_рдЯреВ
    • OsString::shrink_to
    • PathBuf::shrink_to
    • BinaryHeap::shrink_to
    • VecDeque::shrink_to
    • HashMap::shrink_to
    • рд╣реЕрд╢рд╕реЗрдЯ::shrink_to
  • "const" рд╡рд┐рд╢реЗрд╖рддрд╛, рдЬреА рд╕реНрдерд┐рд░рд╛рдВрдХрд╛рдВрдРрд╡рдЬреА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдВрджрд░реНрднрд╛рдд рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ, рдлрдВрдХреНрд╢рдиреНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ
    • std::mem::transmute
    • [рдЯреА]::рдкреНрд░рдердо
    • [рдЯреА]::рд╕реНрдкреНрд▓рд┐рдЯ_рдлрд░реНрд╕реНрдЯ
    • [рдЯреА]::рд╢реЗрд╡рдЯрдЪреЗ
    • [T]::рд╕реНрдкреНрд▓рд┐рдЯ_рд▓рд╛рд╕реНрдЯ
  • рдХрдВрдкрд╛рдЗрд▓рд░рд▓рд╛ LLVM рдЖрд╡реГрддреНрддреА 13 рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • aarch64-apple-ios-sim рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рджреБрд╕рд░рд╛ рд╕реНрддрд░ рдЖрдгрд┐ powerpc-unknown-freebsd рдЖрдгрд┐ riscv32imc-esp-espidf рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рддрд┐рд╕рд░рд╛ рд╕реНрддрд░ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. рддрд┐рд╕рд▒реНрдпрд╛ рд╕реНрддрд░рд╛рдордзреНрдпреЗ рдореВрд▓рднреВрдд рд╕рдорд░реНрдерди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЪрд╛рдЪрдгреАрд╢рд┐рд╡рд╛рдп, рдЕрдзрд┐рдХреГрдд рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдХреЛрдб рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдХреА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рдгреЗ.

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

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

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

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