ืคืจืกืื ืฉืคืช ืืชืื ืืช ืืืืจืืช ืืืืืืช Rust 1.76, ืฉื ืืกืื ืขื ืืื ืคืจืืืงื ืืืืืื, ืื ืคืืชืื ืืขืช ืืืกืืช ืืขืืืชื ืืขืฆืืืืช Rust Foundation. ืืฉืคื ืืชืืงืืช ืืืืืืืช ืืืืจืื ืืืกืคืงืช ืืช ืืืืฆืขืื ืืืฉืืช ืืงืืืืืืช ืขืืืื ืืืืื ืชืื ืืืื ืขืืช ืืฉืืืืฉ ืืืกืคื ืืฉืคื ืืืื ืจืืฆื (ืืื ืืจืืฆื ืืฆืืืฆื ืืืชืืื ืืชืืืืงื ืืกืืกืืื ืฉื ืืกืคืจืืื ืืกืื ืืจืืืช).
ืฉืืืืช ืืืืคืื ืืืืืจืื ืฉื Rust ืืืกืืืช ืืืืคืชื ืฉืืืืืช ืืขืช ืื ืืคืืืฆืื ืฉื ืืฆืืืขืื ืืืืื ืืช ืืคื ื ืืขืืืช ืืืชืขืืจืจืืช ืขืงื ืืืคืื ืืืืืจืื ืืจืื ื ืืืื, ืืืื ืืืฉื ืืืืืจ ืืืืจืื ืืืืจ ืฉืืจืืจื, ืืืืื ืืฆืืืขื null, ืืจืืืืช ืืืืจ ืืื'. ืืื ืืืคืืฅ ืกืคืจืืืช, ืืกืคืง ืื ืืื ืืื ืื ืชืืืช, ืืคืจืืืงื ืืคืชื ืืช ืื ืื ืืืืืืืช Cargo. ืืืืจ crates.io ื ืชืื ืืืืจืื ืกืคืจืืืช.
ืืืืืืช ืืืืจืื ืืกืืคืงืช ื-Rust ืืืื ืืงืืืคืืืฆืื ืืืืฆืขืืช ืืืืงืช ืืคื ืืืช, ืืขืงื ืืืจ ืืขืืืช ืขื ืืืืืืงื, ืืขืงื ืืืจ ืืฉื ืืืื ืฉื ืืืืืืงื (ืกืงืืคืื), ืืืขืจืืช ื ืืื ืืช ืืืืฉื ืืืืืจืื ืืืืื ืืืฆืืข ืงืื. Rust ืืกืคืงืช ืื ืืื ื ืืคื ื ืืฆืคืช ืืกืคืจืื ืฉืืืื, ืืืจืฉืช ืืชืืื ืืืื ืฉื ืขืจืื ืืฉืชื ืื ืืคื ื ืืฉืืืืฉ, ืืืคืืช ืืฉืืืืืช ืืื ืืืชืจ ืืกืคืจืืื ืืกืื ืืจืืืช, ืืืืฉืืช ืืช ืืจืขืืื ืฉื ืืคื ืืืช ืืืฉืชื ืื ืืืชื ื ืืชื ืื ืืฉืื ืื ืืืจืืจืช ืืืื, ืืฆืืขื ืืงืืื ืกืืืืช ืืืงื ืืื ืืืืขืจ ืฉืืืืืช ืืืืืืช.
ืืืืืฉืื ืขืืงืจืืื:
- ืืชืืขืื ื ืืกืฃ ืกืขืืฃ ื ืคืจื ืืืชืืจ ืืช ืืชืืืืืช ืฉื ืกืืื ืืจืืืื ืืื ืฉืื ืื ืืกืืื ืืืืจืช ืคืื ืงืฆืืืช ืืจืืช ABI. ืืืฉืืืื ืืืจืกืืืช ืงืืืืืช, ืชืืืืืช ืืืืืืช ืืจืืช ABI ืฉื ืืกืืืื "char" ื-"u32", ืืขืื ืืืื ืืืืฉืืจ ืืืื.
- ืื ืืกืฃ ืืงืจืืืช "any::type_name::" ืืืืื ื ืืขืืจ ()", ืืืืืืจื ืชืืืืจ ืืืจืืืช ืขืืืจ ืืกืื ืฉืฆืืื ืืคืจืืืจ "T", ื ืืกืคื ืืคืื ืงืฆืื "type_name_of_val(&T)", ืืืืคืฉืจืช ืื ืืงืื ืืืืข ืขื ืกืื ืืืืืกืก ืขื ืื ืืคื ืื ืืื ืฉื. fn get_iter() -> impl Iterator { [32, 1, 2].into_iter() } fn main() { let iter = get_iter(); let iter_name = std::any::type_name_of_val(&iter); let sum: i3 = iter.sum(); println!("ืืกืืื ืฉื `{iter_name}` ืืื {sum}."); } ืืคืื ืืื: ืืกืืื ืฉื `core::array::iter::IntoIter `ืืื 32.
- ืืืง ืืืฉ ืฉื ื-API ืืืขืืจ ืืงืืืืจืื ืฉื ืืฆืื, ืืืื ืืฉืืืืช ืืืืืฉืื ืฉื ืชืืื ืืช ืืชืืืฆืื:
- Arc::unwrap_or_clone
- Rc::unwrap_or_clone
- ืชืืฆืื::ืืืืง
- ืชืืฆืื::inspect_err
- ืืคืฉืจืืช::ืืืืง
- type_name_of_val
- std::hash::{DefaultHasher, RandomState}
- ptr::{from_ref, from_mut}
- ptr::addr_eq
- ืจืืช ืืชืืืื ืืฉืืืฉืืช ืืืฉืื ืขืืืจ ืืคืืืคืืจืืืช {x86_64,i686}-win7-windows-msvc, aarch64-apple-watchos, arm64e-apple-ios ื-arm64e-apple-darwin. ืืจืื ืืฉืืืฉืืช ืืืืืช ืชืืืื ืืกืืกืืช, ืื ืืื ืืืืงืืช ืืืืืืืืืช, ืคืจืกืื ืืื ืื ืจืฉืืืื ืื ืืืืงื ืื ื ืืชื ืืื ืืช ืืช ืืงืื.
ืื ืืกืฃ, ืื ื ืืืืืื ืืฆืืื ืืช ืืืืืื ืฉื ืืชืืื ืืืฉืืืืช ืื ืืกืืื ื scx_rustland, ืฉื ืืชื ืืฉืคืช Rust ืืืืืฆืข ืืืจืื ืืืฉืชืืฉ (ืืืขืืจื ืฉื ืืืืืงื ืฉื ืชืืืื ืืฉืืืืช ืืืงืจื ื ืืืจืื ืืืฉืชืืฉ ืืืืฉืืช ืืืืฆืขืืช ืขืจืืช ืืืืื sched-ext ืืืืฆืขืืช BPF). ืืืชืืื ืืืชืื ืืืืืืช ืืขืืืคืืช ืฉื ืืฉืืืืช ืืื ืืจืืงืืืืืืช ืขื ืคื ื ืืฉืืืืช ืขืชืืจืืช ืืขืื. ืืืืืื, ืืืืื ืฉื ืืฉืงืช ืืคืืืงืฆืืืช ืืฉืืงืื ืืืงืืื ืืื ืืืช ืืืืื, ืืชืืื scx_rustland ืืคืฉืจ ืื ื ืืืฉืื FPS ืืืื ืืืชืจ ืืืฉืืง ืืืฉืจ ืืขืช ืฉืืืืฉ ืืชืืืื EEVDF ืืกืื ืืจืื.
ืืงืืจ: OpenNet.ru