ืคืืจืกื ืฉืืจืืจ ืฉืคืช ืืชืื ืืช ืืืขืจืืชืืช Rust 1.51, ืฉืืืงืื ืขื ืืื ืคืจืืืงื ืืืืืื, ืื ืคืืชืื ืืขืช ืืืกืืช ืืขืืืชื ืืขืฆืืืืช Rust Foundation. ืืฉืคื ืืชืืงืืช ืืืืืืืช ืืืืจืื, ืืกืคืงืช ื ืืืื ืืืืจืื ืืืืืืื, ืืืกืคืงืช ืืช ืืืืฆืขืื ืืืฉืืช ืืงืืืืืืช ืืฉืืืืช ืืืืื ืืื ืฉืืืืฉ ืืืกืคื ืืฉืคื ืื ืืื ืจืืฆื (ืืื ืืจืืฆื ืืฆืืืฆื ืืืชืืื ืืชืืืืงื ืืกืืกืืื ืฉื ืืกืคืจืืื ืืกืื ืืจืืืช).
ื ืืืื ืืืืืจืื ืืืืืืืื ืฉื Rust ืืืื ืฉืืืืืช ืืขืช ืื ืืคืืืฆืื ืฉื ืืฆืืืขืื ืืืื ืืคื ื ืืขืืืช ืื ืืืขืืช ืืื ืืคืืืฆืื ืฉื ืืืืจืื ืืจืื ื ืืืื, ืืืื ืืืฉื ืืืืืจ ืืืืจืื ืืืืจ ืฉืืจืืจื, ืืคื ืืืช ืืฆืืืข ืืคืกืืช, ืืจืืืืช ืืืืจ ืืื'. ืืื ืืืคืืฅ ืกืคืจืืืช, ืืืืืื ืืจืืื ืืื ืื ืชืืืช, ืืคืจืืืงื ืืคืชื ืืช ืื ืื ืืืืืืืช Cargo. ืืืืจ crates.io ื ืชืื ืืืืจืื ืกืคืจืืืช.
ืืืืืฉืื ืขืืงืจืืื:
- ืืคืื ืงืฆืืื ืืืืช ืืงืฉืืจื ืืฉืืืืฉ ืืื ืจืืืช ืงืืืขืืช ืงืืืื ืืขืื ืฉื ืืืฆืจ ืืื ืืืื ืืจ-ืงืืืื (MVP), ืื ืฉื ืืชื ืืืจ ืืจืืง ืืฉืืืืฉ ื ืจืื. Const ืื ืจืืืช ืืืคืฉืจืืช ืืืืืื ืืืคืืกืื ืืขืจืืื ืงืืืขืื, ืืืืืจ. ืืฉืชืืฉ ืืืจืืืื ืืื ืื ืจืืื ืืืืืืืื ืืืืื ืฉื ืขืจืืื ืงืืืขืื, ืื ืกืืืื ืื ืชืงืืคืืช ืืืื. ืชืืื ื ืื ืืืคืฉืจืช ืื ืืืฉืชืืฉ ืืกืืืื ืืืืคืฉืื ืขื ืคืจืืืจืื ืฉืืืื ืืขืช ืืฆืืจืช ืชืืื ืืช ืขืืืจ ืืขืจืืื ืืื ืืืื ืืืื ืืืฆืืจ ืกืื ื ืคืจื ืขืืืจ ืื ืืืื ืฉื ืขืจืืื ืืืงืืื ืืื ืืืืืื ืฉืืื ืืชืจืืฉืืืืช ืืืืฅ ืืชืืื.
ืืื ืืืืจืกื ืื ืืืืืช, ืขืืืจ ืืขืจืืื ืขื ืกืื "[T; N]" (ืกืื T ืืืืื N) ืืกืคืง ืืช ืืืืืืช ืืืคืฉื ืกืื ืืืืื ืืืืฆืขืืช ืขืจืืื ืขื ืื ืกืืื ืืกืคืจ ืฉืื, ืืืืืื ื ืืชืืืื (ืกืืื struct ื-enum ืืื ื ื ืชืืืื ืขืืืื). ืื ืจืืืช ืงืืืขืืช ืืคืฉืืืช ืืืื ืืช ืคืืชืื ืืกืคืจืืื; ืืืืืื, ืืื ืืืฉืชืืฉ ืืืขืจื ืฉืืื ื ืงืฉืืจ ืืกืื ืืืืื ืกืคืฆืืคืืื, ื ืืชื ืืฆืืื: struct Array { // ^^^^^^^^^^^^^^^^^^^^ ืืืืจื ืฉื ืจืฉืืื ืื ืจืืช ืงืืืขื: [T; LENGTH] // ^^^^^^ ืืฉืืืืฉ ืฉืื }
ืืืฉืจ ื ืขืฉื ืื ืฉืืืืฉ ืืคืืขื ืขื ืืืืืจื ืืื ืฉื "ืืขืจื ยป ืืืืืจ ืืคืืง ืืจืกื ืืื ืืืืจืคืืช ืฉื Array: struct Array { ืจืฉืืื: [u8; 32] }
- ื-std::array::IntoIter API, ืืืืืกืก ืขื ืื ืจืืืช ืงืืืขืืช, ืืืฆื, ืืขืืจืชื ื ืืชื ืืืฆืืจ ืืืืจืืืจืื ืืคื ืขืจื ืขืืืจ ืื ืืขืจื: fn main() { let array = [1, 2, 3, 4, 5] ; // ืืขืืจ, ืืื ืืืืืจ ืขื ืขืจื, ืืืืช ืฆืจืื ืืงืจืื ืืืชืืื .iter() ืขืืืจ ืคืจืื ื-array.iter().copied() { println!("{}", item); } // ืืขืช ืืชื ืืืื ืืฆืืื ืขืืืจ ืคืจืื ื-std::array::IntoIter::new(array) { println!("{}", item); } }
- ืื ืื ืืืืืืช ืืืืขื ืชืืื ืืขืช ืืฉืื ืคืืชืจ ืืืฉ ื-Cargo.toml, ืฉืื ื ืืชื ืืืฉืชืืฉ ืืื ืืืคืขืื ืืช ืืืจืกื ืืฉื ืืื ืฉื ืคืืชืจ ืืชืืื ืืช. ืืืจืกื ืืืืฉื ืฉื ืืืืืืจ ื ืื ืขืช ืืฉืืืื ืฉื ืชืืื ืืช ืชืืืช ืืืคืืจืืืช ืืกืขืืฃ "[ืชืืื ืืช]", ืืืฉืจ ืืื ืืื ื ืืชืืืื, ืืืฉื, ืืืฉืจ ืืืืืช ืชืืืช ืืืืงืฉืช ืชืืื ื ืกืื ืืจืืืช ืืืฉืื ืืกืงืจืืคืืื ืืคืงืืืืช ืืืงืจื, ืื ืืขืช ืฉืืืืฉ ืืชืืื ื ืื ืกืื ืืจืืืช. ืืงืืืฅ ืืืคืขืื ืฉืืชืงืื.
ืขื ืื ืฉืืืื ืืืืืืืช ืฉื ืืืืื ืฉืืืืืจื ืืกืคืจ ืคืขืืื ืืืจืฃ ืืชืืืช. ืืืืืื, ืื ืคืจืืืงื ืืืื foo ืชืืืช ืฉืืืืืจ ืืช ืืืืืืืช A ื-B, ืืืืืื ืื ืืฉืืฉืช ืืืืืืืช ืืืืจืืช bar ื-baz, ืืืจืืช ืฉ-bar ืชืืื ื-foo ืขื ืชืืื ื A, ืืืื ืชืืื ื-foo ืขื ืชืืื ื B, ืื ืืชืืฆืื ืชืืื cargo ืืฉืื ืืช ืืชืืื ืืช ืืืื ืืืงืืคื ืืช foo ืขื ืชืืื ืืช A ื- B. ืฉืืื ืื ืขืฉืืื ืืืจืื ืืชืืื ื ืืืืืคืฉืจืช ืขืงื ืชืืืช ืืกืืืืช ืฉืืื ื ืชืืืืช ืืืขืจืืช ืืืขื ืฉืขืืืจื ื ืืฆืจ ื-build ืืืชืงืื. ืืืืืื, ืืืฉืจ ืืชื ืจืืฆื ืืืฉืชืืฉ ืืืจืกื ืฉื foo ืขื "#![no_std]" ืืงืืืฅ ืืคืขืื ืฉื ืื ื ืขื "#![no_std]", ืืืืงืืื ืืืฉืชืืฉ ื-foo ืขื "std" ืืืืื ื-build in. rs. ืืืฉืจ ืืฆืืื ืื ืืช resolver="2" ื-Cargo.toml, ืื ืื ืืืืืืืช ืื ืกื ืืืคื ืืจืืื ืืืชื ืืฉืืช ืื, ืชืื ืืคืจืื ืืื ืชืืืช ืฉื ืืคืชื, ืืืจื ืืืขื.
- Cargo ืืืืฉืืช ืืช ืืคืฉืจืืช ืืคืืฆืื-debuginfo, ืืืืืืจืช ืืกืขืืฃ "[ืคืจืืคืื]", ืืืช ืืืื ืืืชืืื "-Csplit-debuginfo=unpacked" ื-rustc, ืืืฆืืขื ืืืืขื ืฉื ืฉืืื ืืืฉื ืืฉืืืจืช ืืืืข ืืืืื, ืฉืืืืชืจืช ืืช ืืฆืืจื ืงืจื ืืืื ืืฉืืจืืช dsymutil ืืืืืฅ ืืฉืืขืืชืืช ืืช ืชืืืื ืื ืืืช ืืชืืืื ืขื ืืืืข ื ืืคืื ืืืืื ื-macOS.
- makos ืืืืฆื "ptr::addr_of!" ื-"ptr::addr_of_mut!", ืืืืคืฉืจืื ืื ืืืฆืืจ ืืฆืืืขืื ืืืืืืื ืขืืืจ ืฉืืืช ืื ืืืืฉืจืื. ืืฉืชืืฉ ื-std::ptr; #[repr(packed)] struct Packed { f1: u8, f2: u16, } let packed = Packed { f1: 1, f2: 2 }; // &packed.f2 ืืืฆืืจ ืืฆืืืข ืื ืืืืฉืจ ืืืืืื ืืืชื ืืืืช ืื ืืืืืจืช let raw_f2 = ptr::addr_of!(packed.f2); assert_eq!(unsafe { raw_f2.read_unaligned() }, 2);
- ืืืง ืืืฉ ืฉื ื-API ืืืขืืจ ืืงืืืืจืืืช ืืืฆืืื, ืืืื ืืฉืืืืช ืืืืืช ืืชืืืฆืื:
- Arc::decrement_strong_count
- Arc::increment_strong_count
- Once::call_once_force
- ืืืฆืฆื::next_if_eq
- ืืืฆืฆื::next_if
- Seek::stream_position
- array::IntoIter
- panic::panic_any
- ptr::addr_of!
- ptr::addr_of_mut!
- ืคืจืืกื::fill_with
- slice::split_inclusive_mut
- ืคืจืืกื::split_inclusive
- slice::strip_prefix
- slice::strip_suffix
- str::split_inclusive
- sync::OnceState
- ืืฉืืื::ืืชืขืืจืจ
- ืจืืช ืืชืืืื ืืฉืืืฉืืช ืืืฉืื ืขืืืจ ืืคืืืคืืจืืืช i386-unknown-linux-gnu, i486-unknown-linux-gnu, aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32 ื-aarch64_be-unknown-linux-gnu_ilp32 . ืืจืื ืืฉืืืฉืืช ืืืืืช ืชืืืื ืืกืืกืืช, ืื ืืื ืืืืงืืช ืืืืืืืืืช, ืคืจืกืื ืืื ืื ืจืฉืืืื ืื ืืืืงื ืื ื ืืชื ืืื ืืช ืืช ืืงืื.
ืืงืืจ: OpenNet.ru