ืฉื—ืจื•ืจ ืฉืคืช ืชื›ื ื•ืช Rust 1.52

ืคื•ืจืกื ืฉื—ืจื•ืจ ืฉืคืช ื”ืชื›ื ื•ืช ื”ืžืขืจื›ืชื™ืช Rust 1.52, ืฉื”ื•ืงืžื” ืขืœ ื™ื“ื™ ืคืจื•ื™ืงื˜ ืžื•ื–ื™ืœื”, ืืš ืคื•ืชื—ื” ื›ืขืช ื‘ื—ืกื•ืช ื”ืขืžื•ืชื” ื”ืขืฆืžืื™ืช Rust Foundation. ื”ืฉืคื” ืžืชืžืงื“ืช ื‘ื‘ื˜ื™ื—ื•ืช ื–ื™ื›ืจื•ืŸ, ืžืกืคืงืช ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ืื•ื˜ื•ืžื˜ื™, ื•ืžืกืคืงืช ืืช ื”ืืžืฆืขื™ื ืœื”ืฉื’ืช ืžืงื‘ื™ืœื™ื•ืช ืžืฉื™ืžื•ืช ื’ื‘ื•ื”ื” ืœืœื ืฉื™ืžื•ืฉ ื‘ืืกืคืŸ ืืฉืคื” ืื• ื–ืžืŸ ืจื™ืฆื” (ื–ืžืŸ ื”ืจื™ืฆื” ืžืฆื˜ืžืฆื ืœืืชื—ื•ืœ ื•ืชื—ื–ื•ืงื” ื‘ืกื™ืกื™ื™ื ืฉืœ ื”ืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช).

ื ื™ื”ื•ืœ ื”ื–ื™ื›ืจื•ืŸ ื”ืื•ื˜ื•ืžื˜ื™ ืฉืœ Rust ืžื‘ื˜ืœ ืฉื’ื™ืื•ืช ื‘ืขืช ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืžืฆื‘ื™ืขื™ื ื•ืžื’ืŸ ืžืคื ื™ ื‘ืขื™ื•ืช ื”ื ื•ื‘ืขื•ืช ืžืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ื–ื™ื›ืจื•ืŸ ื‘ืจืžื” ื ืžื•ื›ื”, ื›ื’ื•ืŸ ื’ื™ืฉื” ืœืื–ื•ืจ ื–ื™ื›ืจื•ืŸ ืœืื—ืจ ืฉื—ืจื•ืจื•, ื”ืคื ื™ื™ืช ืžืฆื‘ื™ืข ืืคืกื™ืช, ื—ืจื™ื’ื•ืช ืžืื’ืจ ื•ื›ื•'. ื›ื“ื™ ืœื”ืคื™ืฅ ืกืคืจื™ื•ืช, ืœื”ื‘ื˜ื™ื— ื”ืจื›ื‘ื” ื•ืœื ื”ืœ ืชืœื•ืช, ื”ืคืจื•ื™ืงื˜ ืžืคืชื— ืืช ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช Cargo. ืžืื’ืจ crates.io ื ืชืžืš ืœืื™ืจื•ื— ืกืคืจื™ื•ืช.

ื—ื™ื“ื•ืฉื™ื ืขื™ืงืจื™ื™ื:

  • ื”ื•ืกืจื” ื”ื›ืจื™ื›ื” ืœืกื“ืจ ื‘ื™ืฆื•ืข ื”ืคืงื•ื“ื•ืช "ื‘ื“ื™ืงืช ืžื˜ืขืŸ" ื•"ืžื˜ืขืŸ ืžื˜ืขืŸ". ื‘ืขื‘ืจ, ืงืจื™ืื” ืœ-"cargo clippy" ืœืื—ืจ "cargo check" ืœื ื”ืคืขื™ืœื” ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช clippy (linter) ืขืงื‘ ื”ื™ืขื“ืจ ื”ืคืจื“ืช ืžื˜ืžื•ืŸ ืขื‘ื•ืจ ืžืฆื‘ื™ ื‘ื“ื™ืงื” ืืœื•. ื›ืขืช ื”ื‘ืขื™ื” ื”ื–ื• ื ืคืชืจื” ื•ื”ืกื“ืจ ืฉื‘ื• ื ืงืจืื™ื "ืงืœื™ืคื™ ืžื˜ืขืŸ" ื•"ื‘ื“ื™ืงืช ืžื˜ืขืŸ" ื›ื‘ืจ ืœื ืžืฉื ื”.
  • ื—ืœืง ื—ื“ืฉ ืฉืœ ื”-API ื”ื•ืขื‘ืจ ืœืงื˜ื’ื•ืจื™ื™ืช ื”ื™ืฆื™ื‘ื”, ื›ื•ืœืœ ื”ืฉื™ื˜ื•ืช ื”ื‘ืื•ืช ื”ืชื™ื™ืฆื‘ื•:
    • ื˜ื™ืขื•ื ื™ื::as_str
    • char::MAX
    • char::REPLACEMENT_CHARACTER
    • char::UNICODE_VERSION
    • char::decode_utf16
    • char::from_digit
    • char::from_u32_unchecked
    • char::from_u32
    • slice::partition_point
    • str::rsplit_once
    • str::split_once
  • ื”ืชื›ื•ื ื” "const", ื”ืงื•ื‘ืขืช ืืช ื”ืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘ื” ื‘ื›ืœ ื”ืงืฉืจ ื‘ืžืงื•ื ื‘ืงื‘ื•ืขื™ื, ืžืฉืžืฉืช ื‘ืฉื™ื˜ื•ืช:
    • char::len_utf8
    • char::len_utf16
    • char::to_ascii_ืื•ืชื™ื•ืช ื’ื“ื•ืœื•ืช
    • char::to_ascii_ืื•ืชื™ื•ืช ืงื˜ื ื•ืช
    • char::eq_ignore_ascii_case
    • u8::to_ascii_ืื•ืชื™ื•ืช ื’ื“ื•ืœื•ืช
    • u8::to_ascii_ืื•ืชื™ื•ืช ืงื˜ื ื•ืช
    • u8::eq_ignore_ascii_case
  • ื ื•ืกืคื” ื‘ื“ื™ืงืช ืžื•ืš unsafe_op_in_unsafe_fn ื›ื“ื™ ืœืงื‘ื•ืข ืื ืงื•ื“ ืœื ื‘ื˜ื•ื— ื”ืžืฉืžืฉ ื‘ืคื•ื ืงืฆื™ื•ืช ืœื ื‘ื˜ื•ื—ื•ืช ืžืžื•ืกื’ืจ ืขืœ ื™ื“ื™ ื‘ืœื•ืงื™ื ืœื ื‘ื˜ื•ื—ื™ื.
  • ืžื•ืชืจ ืœื”ื˜ื™ืœ ืžืฆื‘ื™ืขื™ื ื”ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™ ืœืžืขืจื›ื™ื ื‘ืฆื•ืจื” ืฉืœ ืžืฆื‘ื™ืขื™ื ืœืกื•ื’ ืืœืžื ื˜ ื”ืžืขืจืš. let mut x: [usize; 2] = [0, 0]; ืชืŸ p = &mut x ื›ืžื• *mut usize; ืชืŸ p = &mut x ื›ืžื• *const usize;
  • ื ื•ืกืคื• 9 ืฆ'ืงื™ื ื—ื“ืฉื™ื ืœืงืœื™ืคื™ (ืœื™ื ื˜ืจ).
  • ืžื ื”ืœ ื—ื‘ื™ืœื•ืช ื”ืžื˜ืขืŸ ืชื•ืžืš ื›ืขืช ื‘ืฉื“ื” "manifest_path" ื‘-JSON ืขื‘ื•ืจ ื—ื‘ื™ืœื•ืช. ื ื•ืกืคื” ืชืžื™ื›ื” ืœืฆื™ื•ืŸ ืคืจื˜ื™ ืจื™ืฉื™ื•ืŸ ื‘ืคื•ืจืžื˜ SPDX 3.11 ืœืžืื’ืจ crates.io.
  • ืžื•ืชืจ ืœืฆื™ื™ืŸ ืžืกื ื ื™ื ืžืจื•ื‘ื™ื ื‘ืขืช ื”ืคืขืœืช ื‘ื“ื™ืงื•ืช, ืœืžืฉืœ ื”ืคืขืœืช "ืžื‘ื—ืŸ ืžื˜ืขืŸ - foo bar" ืชืจื™ืฅ ืืช ื›ืœ ื”ื‘ื“ื™ืงื•ืช ื”ืชื•ืืžื•ืช ืืช ื”ืžืกื›ื•ืช "foo" ื•-"bar".
  • ืขืจื›ืช ื”ื›ืœื™ื ืฉืœ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ LLVM ืขื•ื“ื›ื ื” ืœ-LLVM 12.
  • ืจืžืช ื”ืชืžื™ื›ื” ื”ืฉืœื™ืฉื™ืช ื™ื•ืฉืžื” ืขื‘ื•ืจ ื”ืคืœื˜ืคื•ืจืžื•ืช s390x-unknown-linux-musl, riscv32gc-unknown-linux-musl, riscv64gc-unknown-linux-musl ื•-powerpc-unknown-openbsd. ื”ืจืžื” ื”ืฉืœื™ืฉื™ืช ื›ื•ืœืœืช ืชืžื™ื›ื” ื‘ืกื™ืกื™ืช, ืืš ืœืœื ื‘ื“ื™ืงื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช, ืคืจืกื•ื ืฉืœ ืจื›ื™ื‘ื™ื ืจืฉืžื™ื™ื ื•ืื™ืžื•ืช ื™ื›ื•ืœืช ื‘ื ื™ื™ืช ืงื•ื“.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”