ื ืืืื ืืืืืจืื ืืืืืืืื ืฉื Rust ืืฉืืจืจ ืืช ืืืคืชื ืืื ืืคืืืฆืื ืฉื ืืฆืืืขืื ืืืื ืืคื ื ืืขืืืช ืื ืืืขืืช ืืื ืืคืืืฆืื ืฉื ืืืืจืื ืืจืื ื ืืืื, ืืืื ืืืฉื ืืืคืฉืืช ืืืืืจืื, ืืคื ืืืช ืืฆืืืข null, ืืจืืืืช ืืืืจ ืืืืืื. ืื ืื ืืืืืืช ืืคืืชื ืืืคืฆืช ืกืคืจืืืช, ืืืืืช ืืจืืื ืื ืืืื ืชืืืช ืขื ืืื ืืคืจืืืงื.
ืืขืืงืจื
- ื ืืกืคื ืืช ืืืืืืช ืืกืื ืืื ืื (struct) ืืกืคืืจืืช (enum ืขื ืืืืง Variant) ืืืืฆืขืืช ืืชืืื ื "
#[ืื_ืืืฆื ]", ืืืืืืื ืืืคืฉืจืช ืืขืชืื, ืืืกืฃ ืฉืืืช ืืืคืฉืจืืืืช ืืืฉืืช ืืืื ืื ืืกืคืืจืืช ืืืฆืืจืืช. ืืืืืื, ืืคืชืืื ืฉื ืืืืืืื ืฉืืฉ ืืื ืืื ืื ืขื ืฉืืืช ืฉืืืืจืื ืืคืืืื ืืืืืื ืืืฉืชืืฉ ื-"#[non_exhaustive]" ืืื ืืกืื ืืื ืื ืฉืขืฉืืืื ืืืชืืืกืฃ ืืื ืฉืืืช ืืืฉืื ืืขืชืื. ืขื ืื, ืืืฆื ืื, ืืืื ื ืืืฅ ืืืืืจ ืืื ืืฆืืจืช ืฉืืืช ืืืืคื ืคืจืื ืืืื ืงืฉืืจื ืืจืฉืืื ืืืชื ื ืืชื ืช ืืฉืื ืื ืฉื ืฉืืืช. ืืชืืื ื ืืืืฉื ืืกืืจื ืืืืื ืื ืืืืคืฉืจืช ืื ืืืืกืืฃ ืฉืืืช ืืืฉืื ืืขืชืื ืืื ืกืืืื ืืฉืืืจืช ืงืื ืืืฆืื ื ืฉืืืจืื ืืขืืจ. ืืืืืืืช ืืจืื, ืืขืช ืืชืืืช ืืคืฉืจืืืืช ืืกืขืืฃ "ืืชืืื", ื ืืจืฉืช ืืืืจื ืืคืืจืฉืช ืฉื ืืืกืื "_ => {...}", ืืืืกื ืฉืืืช ืขืชืืืืื ืืคืฉืจืืื, ืืืจืช ืชืืฆื ืฉืืืื ืืขืช ืืืกืคืช ืฉืืืช ืืืฉืื. -
ื ืืกืฃ ืืืืืืช ืืงืจืื ืืืืงืจื ืืคืจืืฆืืืจืื mac!() ืืืงืฉืจ ืืืคืืกื. ืืืืืื, ืืขืช ืชืืื ืืืชืื "ืกืื Foo = expand_to_type!(bar);" ืื "expand_to_type" ืืื ืืืงืจื ืคืจืืฆืืืจืื. - ืืืืงืื "ืืืฆืื ืืื { ... }".
ืืืกืืฃ ืืืืืืช ืืืฉืชืืฉ ืืคืงืืืืช ืืืงืจื ืคืจืืฆืืืจืืืืช ืืชืืื ืืช, ืืืื ืคืงืืืืช ืืืงืจื "bang!()", ืืืฉื:ืืืื_ืืืงืจื! make_item { ($name:ident) => { fn $name(); } }
ืืืฆืื ื {
make_item!(alpha);
make_item!(ืืื);
}ืืืฆืื ื "C" {
#[ืืืงืจื_ืืืืช_ืฉืื] fn foo();
} - ืืคืงืืืืช ืืืงืจื
ืืืืืข ืืืืืืช ืืืฆืืจ ืืืื ืืื ืฉื "macro_rules!". ืืฆืืจืช "acro_rules!" ืืคืฉืจื ืื ืืคืงืืืืช ืืืงืจื ืืืืืืช ืคืื ืงืฆืืืช ("mac!()") ืืื ืืคืงืืืืช ืืืงืจื ืืฆืืจื ืฉื ืชืืื ืืช ("#[mac]"). - ืืืืื ื ืืืืคืื $m:meta
ืืืกืืฃ ืชืืืื ืืขืจืื ืกืคืืจืช ืืกืืืื ืื ืฉืจืืจืืชืืื ("[TOKEN_STREAM]", "{TOKEN_STREAM}" ื-"(TOKEN_STREAM)"), ืืืืืื:ืืืื_ืืืงืจื! accept_meta { ($m:meta) => {} }
accept_meta!( my::path );
accept_meta!( my::path = "lit" );
accept_meta!( my::path ( abc ) );
accept_meta!( my::path [ abc ] );
accept_meta!( my::path { abc } ); - ืืืฆื Rust 2015, ืคืื ืฉืืืื ืืืคืขื ืขืืืจ ืืขืืืช ืฉืืืื ืืขืช ืืืืงืช ืืฉืืืช ืืฉืชื ืื (ืืืืง ืืืฉืืื) ืืืืฆืขืืช ืืื ืืงืช ื-NLL (Non-Lexical Lifetimes). ืืขืืจ, ืืืืจืืช ืืืืืคื ืืฉืืืืืช ืืขืช ืืคืขืื ืืืฆื Rust 2018.
ืืืืจ ืฉืืฉืื ืื ืืืจืื ืืืฆื Rust 2015, ืืคืชืืื ืืฆืืืื ืกืืฃ ืกืืฃะั ยฑ ยฑ ยฑ ะ ะะะะะะะะ ืืืืืงืช ืืืฉืืื ืืืฉื ื.ืืื ื ืืืืจ ืฉืืขืจืืช ืืืืืืช ืืืืืกืกืช ืขื ืื ืื ืื ืืืฉ ืืืชืืฉืืืช ืืืืจื ืืืืื ืฉื ืืฉืชื ืื ืฉืืืืื ืืคืฉืจื ืืืืืช ืืื ืืขืืืช ืฉืื ืืืืื ื ืืงืื ืืืืืืช ืืืฉื. ืืืืืื ืฉืคืื ืฉืืืื ืขืืืจ ืืืืงืืช ืืืื ืขืฉืื ืืืฉืคืืข ืขื ืชืืืืืช ืขื ืงืื ืฉืขืื ืืขืืจ, ืืืืจืืช ืืืฆืื ืืชืืืื ืืืงืื ืฉืืืืืช.
- ืืชืืื ื "const", ืืงืืืขืช ืืช ืืืคืฉืจืืช ืืืฉืชืืฉ ืื ืืื ืืงืฉืจ ืืืงืื ืืงืืืขืื, ืืฉืืฉืช ืขืืืจ ืืคืื ืงืฆืื is_power_of_two (ืขืืืจ ืืกืคืจืื ืฉืืืื ืืื ืกืืื).
- ืืืง ืืืฉ ืฉื ื-API ืืืขืืจ ืืงืืืืจืื ืืืฆืืื, ืืืื ืืืืงืจื todo!() ืื-slice::repeat, mem::take, BTreeMap::get_key_value, HashMap::get_key_value, ืืฉืืืืช ืืชืืืฆืื.
Option::as_deref, Option::as_deref_mut, Option::flatten, UdpSocket::peer_addr, {f32,f64}::to_be_bytes, {f32,f64}::to_le_bytes,{f32,f64}::to_ne_bytes, {f32} f64}::from_be_bytes, {f32,f64}::from_le_bytes, ื-{f32,f64}::from_ne_bytes. - ืืืืขื ืื ืื ืืืืืืืช
ืืืืืข ืืืืจืืช ืืืืจ ืืืืื ืืืืกืง. ืืคืงืืื "ืืื-ื ืชืื ืื ืฉื ืืืขื" ื ืืกืคื ืืืคืฉืจืืช "ืืื-ื ืชืื ืื ืฉื ืืืขื".--ืคืืืืจ-ืคืืืคืืจืื " ืืื ืืืฆืื ืจืง ืืืืืืช ืืืืืืจืืช ืืคืืืคืืจืืช ืืืขื ืฉืฆืืื ื ืืขืืืืช ืคืชืจืื ืืชืืืช. ื ืืกืคื ืืคืฉืจืืช ืชืฆืืจืช http.ssl-version ืืื ืืืืืืจ ืืจืกืืืช TLS ืืืงืืืช.
ื ืืกืคื ืืืคืฉืจืืช ืืคืจืกื ืืช ืืงืืข "ืชืืืช ืืืคืชืืื " ืืืื ืืฆืืื ืืช ืืคืชื "ืืจืกื". - ืืืืจ rustc ืืกืคืง ืชืืืื ืืจืื ืฉืืืฉืืช ืขืืืจ ืคืืืคืืจืืืช ืืขื thumbv7neon-unknown-linux-musleabihf, aarch64-unknown-none-softfloat, mips64-unknown-linux-muslabi64 ื-mips64el-unknown-linux-muslabi64. ืืจืื ืืฉืืืฉืืช ืืืืืช ืชืืืื ืืกืืกืืช, ืื ืืื ืืืืงืืช ืืืืืืืืืช ืืคืจืกืื ืฉื ืืื ืื ืจืฉืืืื.
ืืงืืจ: OpenNet.ru