ืคืืจืกื ืฉืืจืืจ ืฉืคืช ืืชืื ืืช ืืืขืจืืชืืช Rust 1.53, ืฉืืืงืื ืขื ืืื ืคืจืืืงื ืืืืืื, ืื ืคืืชืื ืืขืช ืืืกืืช ืืขืืืชื ืืขืฆืืืืช Rust Foundation. ืืฉืคื ืืชืืงืืช ืืืืืืืช ืืืืจืื, ืืกืคืงืช ื ืืืื ืืืืจืื ืืืืืืื, ืืืกืคืงืช ืืช ืืืืฆืขืื ืืืฉืืช ืืงืืืืืืช ืืฉืืืืช ืืืืื ืืื ืฉืืืืฉ ืืืกืคื ืืฉืคื ืื ืืื ืจืืฆื (ืืื ืืจืืฆื ืืฆืืืฆื ืืืชืืื ืืชืืืืงื ืืกืืกืืื ืฉื ืืกืคืจืืื ืืกืื ืืจืืืช).
ื ืืืื ืืืืืจืื ืืืืืืืื ืฉื Rust ืืืื ืฉืืืืืช ืืขืช ืื ืืคืืืฆืื ืฉื ืืฆืืืขืื ืืืื ืืคื ื ืืขืืืช ืื ืืืขืืช ืืื ืืคืืืฆืื ืฉื ืืืืจืื ืืจืื ื ืืืื, ืืืื ืืืฉื ืืืืืจ ืืืืจืื ืืืืจ ืฉืืจืืจื, ืืคื ืืืช ืืฆืืืข ืืคืกืืช, ืืจืืืืช ืืืืจ ืืื'. ืืื ืืืคืืฅ ืกืคืจืืืช, ืืืืืื ืืจืืื ืืื ืื ืชืืืช, ืืคืจืืืงื ืืคืชื ืืช ืื ืื ืืืืืืืช Cargo. ืืืืจ crates.io ื ืชืื ืืืืจืื ืกืคืจืืืช.
ืืืืืฉืื ืขืืงืจืืื:
- ืขืืืจ ืืขืจืืื, ืืืืืขื ืืชืืื ื IntoIterator, ืืืืคืฉืจืช ืื ืืืจืื ืืช ืืืืืจืฆืื ืฉื ืจืืืื ืืขืจื ืืคื ืขืจืืื: ืขืืืจ i ื-[1, 2, 3] { .. }
ืืคืฉืจ ืื ืืืขืืืจ ืืขืจืืื ืืฉืืืืช ืฉืืงืืืืช ืืืืจืืืจืื, ืืืฉื: let set = BTreeSet::from_iter([1, 2, 3]); ืขืืืจ (ื, ื) ื-some_iterator.chain([1]).zip([1, 2, 3]) { .. }
ืืขืืจ, IntoIterator ืืืฉื ืจืง ืขืืืจ ืืคื ืืืช ืืืขืจื, ืืืืืจ. ืืื ืืืืืจ ืขื ืขืจืืื ืืื ืฆืืจื ืืืฉืชืืฉ ืืืคื ืืืช ("&[1, 2, 3]") ืื "[1, 2, 3].iter()". ืืืืืขื ืฉื IntoIterator ืขืืืจ ืืขืจืืื ื ืืืื ืขื ืืื ืืขืืืช ืชืืืืืช ืฉื ืืจืื ืขื ืืื ืืืจื ืงืืืืช ืฉื ืืืืจ ื-array.into_iter() ื-(&array).into_iter(). ืืขืืืช ืืื ื ืคืชืจื ืืขืืจืช ืคืชืจืื ืขืืงืฃ - ืืืืืจ ืืืฉืื ืืืืืจ array.into_iter() ื-(&array).into_iter() ืืืืื ืื ืืื ืืืฉืื ืฉื ืชืืื ืช IntoIterator, ืืื ืจืง ืืืฉืจ ืืงืจื ืืืชืืื ืืืืฆืขืืช ื-".into_iter() )" ืชืืืืจ ืืืืื ืืืขืช ืืงืจืืืืช ืืฆืืจื "ื-[1, 2, 3]", "iter.zip([1, 2, 3])", "IntoIterator::into_iter([1, 2, 3] )".
- ืืคืฉืจ ืืฆืืื ืืืืืืื "|" (ืคืขืืืช OR ืืืืืช) ืืื ืืืง ืฉื ืืชืื ืืช, ืืืฉื, ืืืงืื "Some(1) | Some(2)" ืืชื ืืืื ืืขืช ืืืชืื "Some(1 | 2)": match result { Ok(Some(1 | 2)) => { .. } Err(MyError { kind: FileNotFound | PermissionDenied, .. }) = > { .. } _ => { .. } }
- ืืฉืืืืฉ ืืชืืืื ืฉืืื ื ASCII ืืืืืื ืืืชืจ, ืืืื ืื ืืชืืืื ืืืืืืืื ืืืืืืจืื ืืืคืจื Unicode UAX 31, ืื ืื ืืืื ืชืืื ืืืื'ื. ืื ืืชื ืืฉืชืืฉ ืืชืืืื ืฉืื ืื ืื ืืืืื, ืืืืืจ ืืฉืื ืืืืจื. const BLร HAJ: &str = "๐ฆ"; struct ไบบ { ๅๅญ: ืืืจืืืช, } ืชื ฮฑ = 1; let's = 2; ืืืืจื: ืฆืื ืืืืื ื ืืฉื ืืืืืื ืืื '๏ฝ' ื-'s'
- ืืืง ืืืฉ ืฉื ืืืฉืงื API ืืืขืืจ ืืงืืืืจืืืช ืืืฆืืืืช, ืืืื ืืชืืืฆืืืช ืืืืื:
- array::from_ref
- array::from_mut
- AtomicBool::fetch_update
- AtomicPtr::fetch_update
- BTreeSet::retain
- BTreeMap::retain
- BufReader::seek_relative
- cmp::min_by
- cmp::min_by_key
- cmp::max_by
- cmp::max_by_key
- DebugStruct::finish_non_exhaustive
- ืืฉื ืืื::ZERO
- ืืฉื ืืื::MAX
- ืืฉื ืืื::is_XNUMX
- Duration::saturating_add
- Duration::saturating_sub
- Duration::saturating_mul
- f32::is_subnormal
- f64::is_subnormal
- IntoIterator ืขืืืจ ืืขืจืืื
- {integer}::BITS
- io::ืฉืืืื::ืื ื ืชืื
- NonZero*::leading_zeros
- NonZero*::trailing_zeros
- ืืคืฉืจืืช::ืืื ืก
- ืืืื ื::is_eq
- ืืืื ื::is_ne
- ืืืื ื::is_lt
- ืืืื ื::is_gt
- ืืืื ื::is_le
- ืืืื ื::is_ge
- OsStr::make_ascii_lowercase
- OsStr::make_ascii_ืืืชืืืช ืืืืืืช
- OsStr::to_ascii_ืืืชืืืช ืงืื ืืช
- OsStr::to_ascii_ืืืชืืืช ืืืืืืช
- OsStr::is_ascii
- OsStr::eq_ignore_ascii_case
- ืืืฆืฆื::peek_mut
- Rc::increment_strong_count
- Rc::decrement_strong_count
- slice::IterMut::as_slice
- AsRef<[T]> ืขืืืจ slice::IterMut
- impl SliceIndex ืขืืืจ (Bound , ืืจืื )
- Vec::extend_from_within
- ืืจืื ืืฉืืืฉืืช ืฉื ืชืืืื ืืคืืืคืืจืืช wasm64-unknown-unknown ืืืืืขื. ืืจืื ืืฉืืืฉืืช ืืืืืช ืชืืืื ืืกืืกืืช, ืื ืืื ืืืืงืืช ืืืืืืืืืช, ืคืจืกืื ืืื ืื ืจืฉืืืื ืื ืืืืงื ืื ื ืืชื ืืื ืืช ืืช ืืงืื.
- ืื ืื ืืืืืืืช ืฉื Cargo ืืืขืืจ ืืืฉืชืืฉ ืืฉื "ืจืืฉื" ืขืืืจ ืืกื ืืฃ ืืจืืฉื ืฉื ืืืืจ Git (HEAD) ืืืจืืจืช ืืืื. ืชืืืืืช ืืืชืืจืืืช ืืืืืจืื ืืืฉืชืืฉืื ืืฉื main ืืืงืื master ืืืจ ืื ืืืจืฉืืช ืืืืจื ืฉื branch = "main".
- ืืืืืจ, ืืืจืืฉืืช ืืืจืกื ืืืื ืืืืืช ืฉื LLVM ืืืขืืืช ื-LLVM 10.
ืื ืืกืฃ, ืื ื ืืืืืื ืืฆืืื ืืชื ืืืืื ืืคืืชืื ืืื ืืืจืฆืื ืืืืืช ืืื ืืงืก ืฉื ืืืื ืืคืืชืื ืจืืืืื ืืฉืคืช Rust. ืืขืืืื ืชืชืืฆืข ืืืกืืจืช ืคืจืืืงื Prossimo ืืืกืืช ืืจืืื ISRG (Internet Security Research Group), ืืืืืกื ืฉื ืคืจืืืงื ืืืื ืืืฆืคืื ืืืงืื HTTPS ืืคืืชืื ืืื ืืืืืืืช ืืืืืจืช ืืืืืื ืฉื ืืจืฉืชืช. ืืืกืคืื ืืกืืคืงื ืขื ืืื ืืืื, ืฉืชืฉืื ืขืืืจ ืขืืืืชื ืฉื ืืืื ืืื'ืื, ืืืืจ ืคืจืืืงื Rust-for-Linux. ืืขืืจ, ISRG ืืืืื ืืืจ ืืืื ื ืืช ืืืฆืืจื ืฉื HTTP backend ืืืืคื ืขืืืจ ืืื ืืฉืืจืืช curl ืืคืืชืื ืฉื ืืืืื TLS ืืืฉ ืขืืืจ ืฉืจืช ื-Apache http.
ืืคื ืืืงืจืืกืืคื ืืืืื, ื-70% ืืืืืืฉืืช ื ืืจืืืช ืืืืคืื ืืืืืจืื ืื ืืืื. ืฆืคืื ืฉืฉืืืืฉ ืืฉืคืช Rust ืืคืืชืื ืจืืืื ืืืื ืืืื ืื ืืื ืืชืงื ืื ืืงืืื ืืช ืืกืืืื ืืคืืืขืืืืช ืื ืืจืืืช ืืืืคืื ืื ืืืื ืืืืืจืื ืืืื ืข ืฉืืืืืช ืืืื ืืืฉื ืืืืืจ ืืืืจืื ืืืืจ ืฉืืจืืจ ืืืจืืื ืืืืืืืช ืืืืืจ.
ืืืืืืช ืืืืจืื ืืกืืคืงืช ื-Rust ืืืื ืืงืืืคืืืฆืื ืืืืฆืขืืช ืืืืงืช ืืชืืืืกืืช, ืืขืงื ืืืจ ืืขืืืช ืขื ืืืืืืงื ืืืฉื ืืื ืืืืืืงื (ืืืงืฃ), ืืื ืืืืฆืขืืช ืืขืจืื ืฉื ื ืืื ืืช ืืืืฉื ืืืืืจืื ืืืืื ืืืฆืืข ืงืื. Rust ืืกืคืงืช ืื ืืื ื ืืคื ื ืืฆืคืช ืืกืคืจืื ืฉืืืื, ืืืจืฉืช ืืชืืื ืืืื ืฉื ืขืจืื ืืฉืชื ืื ืืคื ื ืืฉืืืืฉ, ืืืคืืช ืืฉืืืืืช ืืื ืืืชืจ ืืกืคืจืืื ืืกืื ืืจืืืช, ืืืืฉืืช ืืช ืืจืขืืื ืฉื ืืคื ืืืช ืืืฉืชื ืื ืืืชื ื ืืชื ืื ืืฉืื ืื ืืืจืืจืช ืืืื, ืืฆืืขื ืืงืืื ืกืืืืช ืืืงื ืืื ืืืืขืจ ืฉืืืืืช ืืืืืืช.
ืืงืืจ: OpenNet.ru