ื ืืืื ืืืืืจืื ืืืืืืืื ืฉื Rust ืืฉืืจืจ ืืช ืืืคืชื ืืื ืืคืืืฆืื ืฉื ืืฆืืืขืื ืืืื ืืคื ื ืืขืืืช ืื ืืืขืืช ืืื ืืคืืืฆืื ืฉื ืืืืจืื ืืจืื ื ืืืื, ืืืื ืืืฉื ืืืคืฉืืช ืืืืืจืื, ืืคื ืืืช ืืฆืืืข null, ืืจืืืืช ืืืืจ ืืืืืื. ืื ืื ืืืืืืช ืืคืืชื ืืืคืฆืช ืกืคืจืืืช, ืืืืืช ืืจืืื ืื ืืืื ืชืืืช ืขื ืืื ืืคืจืืืงื.
ืืขืืงืจื
-
ื ืืกืฃ ืชืืืื ืืชืื ืืืช ืืืชืืืช ืืืงืื ืฉื ืคืจืืกืืช (ืืขืจืืื ืืื ืืืื, ืคืจืืกื). ืืขืืจ ืืชืืคืฉืจื ืืชืืืืช ืืืืืงืืช, ืื ืืขืช ื ืืชื ืืืฉืชืืฉ ืืงืื ืกืืจืืงืืื ืืืกืืื ืื ".." ืืื ืืืกืืช ืืช ืฉืืจ ืืืืื ืืื ืฉื ืืืขืจื. ืืืืืื:fn foo(words: &[&str]) {
ืืชืืืช ืืืืื {// ืืืืง ืืช ืจืืืื ืืืชืืื ืฉื ืืืขืจื ืืืชืขืื
ืืืื ืืื ืืืืื ืืืจืืื
["ืฉืืื", "ืขืืื", "!", ..] => println!("ืฉืืื ืขืืื!"),// ืืืืง ืืช ืฉื ื ืืืืื ืืื ืืจืืฉืื ืื "Foo" ื-"Bar", ืืืฉืืจ ืื ืืฉืื
["Foo", "Bar", ..] => println!("Baz"),// ืชืชืขืื ืืืื, ืืื ืืืืื ื ืืืืจืื ืืืื ืืืืืช "!".
[.., "!"] => println!(โ!!!โ),// ืืคืจืืกืช ืืืชืืื ืื ื ืืืืืื ืืื ืืืื ืืืืื ื ืืืืจืื, ืฉืืืืจ ืืืืืช "z"
[start @ .., "z"] => println!("ืืชืืื ืขื: {:?}", ืืชืื),// ืืคืจืืกื ืืกืืคืืช ืฉืื ื ืืื ืืืื ืืืืื ื ืืจืืฉืื, ืฉืืืืจ ืืืืืช "a".
["a", end @ ..] => println!("ืืกืชืืื ืขื: {:?}", ืกืืฃ),rest => println!("{:?}", rest),
}
} - ื ืืกืฃ ืืืงืจื ืืืฉ "ืืชืืื!", ืฉืืืงื ืืืืื ืืชืื ืืช ืืงืื, ืืืืืืจ "true" ืื ืืชืื ืืช ืชืืืืช ืืืืืื. ืืชืื ืืช ืืืืื ืืืฉืชืืฉ ืืคืขืืืืช "|". ืืื".
match self.partial_cmp(other) {
ืืืง (ืคืืืช) => ื ืืื,
_ => ืฉืงืจ,
}matches!(self.partial_cmp(other), Some(Less))
let foo = 'f';
assert!(matches!(foo, 'A'..='Z' | 'a'..='z'));let bar = Some(4);
assert!(matches!(bar, Some(x) if x > 2)); - ืืืืขืืช ืืืื ืืืืฆืืืช ืืขืช ืฉืืืืฉ ืื ื ืืื
ืกืืืื Option ื-Result, ืืฆืืืื ืืขืช ืืกืคืจื ืฉืืจืืช ืขื ืงืืฉืืจ ืืงืื ืฉืขืฉื ืืช ืืงืจืืื ืืืขืืืชืืช, ืืืงืื ืงืืฉืืจืื ืืงืื ืืืืืฉื ืืช ืืงืจืืื ื-libcore. ืืืืืื, ืืฉืื ืื ืืฉืคืืข ืขื ืงืจืืืืช ื- unwrap and expect over Option::None, ืื ืงืืจืก ืืขืช ืฉืืืืฉ ื-unwrap_err, expect, expect_err ืืฉืืืืช ืืืืืช ืืกืื Result. - ืื ืื ืืืืืืืช ืฉื Cargo ืืกืคืง ืืืืคื ืืืืืืืืช ืฉื "proc_macro crate" ืืืืืง "extern" ืขืืืจ ืืืืืืช ืขื ืคืงืืืืช ืืืงืจื ืคืจืืฆืืืจืืืืช. ืฉืื ืื ืื ืืืคืฉืจ ืืืืื ืืช ืืื ืืื "use" ืขื ืคืงืืืืช ืืืงืจื ืคืจืืฆืืืจืืืืช ืืืื ืืฆืืื "extern crate proc_macro;" ืืงืื. ืืืืืื, ืื ืืชืืื ืืช ืืฉืชืืฉืช ืืฉืืจื "use proc_macro::TokenStream;", ืื ืืงืื ืืืฉืื ืืขืืื ืื "extern crate proc_macro;" ืืืกืจ ืืื ื.
- ืืืืืืืช ืฉื ืืกืคืจืืื ืืกืื ืืจืืืช ืืืจืืื. ืืืืืจ::ืจืืง
ืืืกืืฃ ืชืืืืช ืฉืืืื ืืกื ืืจืื ืืื ืขืจืื T.
ืกืืืช ืฉืืืืช::{map_unchecked, map_unchecked_mut}ื ืืกืจ ืืืฆืืจื ืืืืืืจ ืขืจื ืกืื ืขืืืจ ืืืืฉืื "ืืืื".
ื-io::ืกืืืืืืืข PartialEq ื-Eq. ืืชืืื ื "const" ืงืืืขืช ืืช ืืคืฉืจืืช ืืฉืืืืฉ ืืื ืืงืฉืจ ืืืงืื ืงืืืขืื,ืืืืฉื ืขืืืจ ืืฉืืื Layout::new. - ืืืง ืืืฉ ืฉื ื-API ืืืขืืจ ืืงืืืืจืื ืืืฆืืื, ืืืื ื-CondVar::wait_while ืืืืืฆื, CondVar::wait_timeout_while,
DebugMap::key, DebugMap::value,
ืืื ื Drop::take,
ptr::slice_from_raw_parts_mut ื-ptr::slice_from_raw_parts. - ืฉืืืช Error::description ืืืฆืื ืืฉืืืืฉ.
- ืกืืคืง ืชืืืื ืืจืื ืฉื ืืื ืขืืืจ ืคืืืคืืจืืืช armv7a-none-eabi ื-riscv64gc-unknown-linux-gnu. ื ืืชื ื ืชืืืื ืืกืคืจืืื ืืกืื ืืจืืืช ืขืืืจ ืคืืืคืืจืืช riscv64gc-unknown-linux-gnu.
ืคืืืคืืจืืืช 32 ืกืืืืืช ืฉื ืืคืืืืจื ืืืจืื ืขื ืืจืื ืืฉืืืฉืืช ืฉื ืชืืืื, ืื ืฉืืจืื ืขื ืชืืืื ืืกืืกืืช, ืื ืืื ืืืืงืืช ืืืืืืืืืช ืืคืจืกืื ืฉื ืืื ืื ืจืฉืืืื. ืืฉืืจืื ืืืืืจ ืืชืืืื ื ืืืข ืืื ืฉืืคื ืืืจ ืื ืชืืืืช ืืคืืืคืืจืืืช 32 ืกืืืืืช.
ืืงืืจ: OpenNet.ru