เบเบฒเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบ Rust เบเบปเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบฒเบเบซเบกเบนเบเปเบเปเบเบปเบงเบเบตเป เปเบฅเบฐเบเบปเบเบเปเบญเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเบซเบกเบนเบเปเบเปเบเบงเบฒเบกเบเบปเบเบเบณเบฅเบฐเบเบฑเบเบเปเปเบฒ เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเปเบงเบเบเบงเบฒเบกเบเบณเบเบฒเบเบซเบผเบฑเบเบเบตเปเบเปเปเปเบชเบเบเปเบฒ, เบเบฒเบเบญเปเบฒเบเบญเบตเบเบเบปเบงเบเบตเป null, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบเปเบฒเบฅเบฑเบเบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเบเปเบเบเบเบฒเบ.
เบเบปเปเบโเบเป
- เปเบเบตเปเบกเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบฎเบฑเบเปเบเบทเปเบญเบเบซเบกเบฒเบเปเบเบเบชเปเบฒเบ (เปเบเบเบชเปเบฒเบ) เปเบฅเบฐ enumerations (enum เบเบฑเบ Variant block) เปเบเบเปเบเปเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ "
#[non_exhaustive ]", เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบ เปเบโเบญเบฐโเบเบฒโเบเบปเบโ, เปเบเบตเปเบกโเบเบฒเบโเบชเบฐโเบซเบเบฒเบกโเปเบซเบกเปโเปเบฅเบฐโเบเบฒเบโเปเบฅเบทเบญเบโเปเบโเบเบฒเบโเบเบฐโเบเบฒเบโเปเบเบโเบชเปเบฒเบโเปเบฅเบฐโเบเปเบฒโเบเบงเบโ. เบเบปเบงเบขเปเบฒเบ, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบกเบเบนเบเบเบตเปเบกเบตเปเบเบเบชเปเบฒเบเบเบตเปเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเบเบฐเบเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป "#[non_exhaustive]" เปเบเบทเปเบญเบซเบกเบฒเบเปเบเบเบชเปเบฒเบเบเบตเปเบญเบฒเบเบเบฐเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเปเบซเบกเปเปเบเบตเปเบกเปเบเบตเบกเปเบเบญเบฐเบเบฒเบเบปเบ. เบเบปเบเบเปเบงเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ, เปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเป, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบเปเบเบทเบเบเบฑเบเบเบฑเบเปเบซเปเปเบฅเบทเบญเบเปเบญเบปเบฒเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบฒเบเบเบปเปเบเบเบฒเปเบเบฑเบเปเบญเบเบฐเบเบปเบเปเบฅเบฐเบเบฒเบเบเบนเบเบกเบฑเบเบเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบตเปเบเปเปเบเปเบฝเบเปเบเบเบเบญเบเบเบปเปเบเบเบฒ. เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเปเบซเบกเปเบฅเบปเบเบเปเปเบเปเบฒเบเบฑเบเบเบตเปเปเบฅเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบเปเบญเบเบเปเปเบกเบนเบเปเบซเบกเปเปเบเบญเบฐเบเบฒเบเบปเบเปเบเบเบเปเปเบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเบตเปเบเบฐเบเปเบฒเบฅเบฒเบเบฅเบฐเบซเบฑเบเบเบฒเบเบเบญเบเบเบตเปเบฅเบงเบเบฅเบงเบกเบเปเบญเบเบซเบเปเบฒเบเบตเป. เปเบเบเบธเบ crate, เปเบกเบทเปเบญเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบฑเบเบเบนเปเปเบเบเบฒเบ "match", เบเปเบญเบเบเบฒเบเบเปเบฒเบเบดเบเบฒเบกเบเบตเปเบเบฑเบเปเบเบเบเบญเบเบซเบเปเบฒเบเบฒเบ "_ => {...}", เบเบงเบกเปเบญเบปเบฒเบเปเบญเบเบเปเปเบกเบนเบเปเบเบญเบฐเบเบฒเบเบปเบเบเบตเปเปเบเบฑเบเปเบเปเบเป, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฐเบชเบฐเปเบเบเบเบถเปเบเปเบกเบทเปเบญเปเบเบตเปเบกเบเปเบญเบเบเปเปเบกเบนเบเปเบซเบกเป. -
เปเบเบตเปเบกเปเบฅเปเบง เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบเบซเบฒ macro mac!() เปเบเบชเบฐเบเบฒเบเบเบฒเบเบเบฐเปเบเบ. เบเบปเบงเบขเปเบฒเบ, เบเบญเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบ โtype Foo = expand_to_type!(bar);โ เบเปเบฒ โexpand_to_typeโ เปเบเบฑเบเบกเบฐเบซเบฒเบเบฒเบเบเบฑเปเบเบเบญเบ. - เปเบ "extern { ... }" เบเบฑเบ
เปเบเบตเปเบก เบเบงเบฒเบกโเบชเบฒโเบกเบฒเบโเปเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบเบฐโเบเบงเบโเบเบฒเบโเปเบฅเบฐโเบเบธเบโเบฅเบฑเบโเบชเบฐโเบเบฐ macroโ, เบฅเบงเบกโเบเบฑเบ "bang!()โ" macroโ, เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบปเบโเบเบปเบงโเบขเปเบฒเบโ:macro_rules! make_item { ($name:ident) => { fn $name(); } }
เบเบฒเบเบเบญเบ {
make_item!(เบญเบฑเบเบเบฒ);
make_item!(เปเบเบเปเบฒ);
}เบเบฒเบเบเบญเบ "C" {
#[my_identity_macro] fn foo();
} - เปเบเบกเบฐเบซเบฒเบเบฒเบ
เบเบฐเบเบดเบเบฑเบ เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบชเปเบฒเบ "macro_rules!" เบญเบปเบเบเบฐเบเบญเบ. เบเบณเบฅเบฑเบเบชเปเบฒเบ "macro_rules!" เปเบเบฑเบเปเบเปเบเปเบเบฑเบเปเบเบกเบฐเบซเบฒเบเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบเบฑเบ (โmac!()โ) เปเบฅเบฐเปเบเบกเบฐเบซเบฒเบเบฒเบเปเบเบฎเบนเบเปเบเบเบเบธเบเบชเบปเบกเบเบฑเบ (โ#[mac]โ). - เปเบเบญเบปเบเบเบฐเบเบญเบเปเบเบเบเบตเป $m:meta
เปเบเบตเปเบก เบชเบฐโเบซเบเบฑเบโเบชเบฐโเบซเบเบนเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒ token arbitrary (โ[TOKEN_STREAM]โ, โ{TOKEN_STREAM}โ เปเบฅเบฐ โ(TOKEN_STREAM)โ), เบชเปเบฒโเบฅเบฑเบโเบเบปเบงโเบขเปเบฒเบ:macro_rules! accept_meta { ($m:meta) => {} }
accept_meta!(เบเบญเบเบเปเบญเบ::เปเบชเบฑเปเบเบเบฒเบ);
accept_meta!(เบเบญเบเบเปเบญเบ::path = "lit" );
accept_meta!( my::path ( abc ) );
accept_meta!( เบเบญเบเบเปเบญเบ::เปเบชเบฑเปเบเบเบฒเบ [ abc ] );
accept_meta!( my::path { abc } ); - เปเบเปเบซเบกเบ Rust 2015, เบเบปเบเบเบฐเบฅเบดเบเบเปเปเบเบดเบเบเบฒเบเบเบทเบเปเบเบตเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฑเบเบซเบฒเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบเปเบงเบฅเบฒเบเบงเบเบชเบญเบเบเบฒเบเบเบนเปเบขเบทเบกเบเบญเบเบเบปเบงเปเบ (เบเบปเบงเบเบงเบเบชเบญเบเบเบฒเบเบเบนเปเบขเบทเบก) เปเบเบเปเบเปเปเบเบฑเบเบเบดเบ NLL (Non-Lexical Lifetimes). เบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเบฒเบเปเบเบทเบญเบเปเบเปเบเปเบเบทเบเปเบเบเบเบตเปเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบฅเปเบเบขเบนเปเปเบเปเบซเบกเบ Rust 2018.
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเบทเบเบเบฐเบซเบเบฒเบเปเบเบชเบนเปเปเบซเบกเบ Rust 2015, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฒเบกเบฒเบเบชเบธเบเบเปเบฒเบเปเบเปเบเบณ เบเบฑเบ เบเบฒเบ checker เบเบนเปเบขเบทเบกเปเบเบปเปเบฒ.เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบทเปเบงเปเบฒเบฅเบฐเบเบปเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเปเบเบเบญเบตเบเปเบชเปเบเบปเบเปเบเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบถเบเปเบเบดเบเบญเบฒเบเบธเบเบญเบเบเบปเบงเปเบเบเบตเปเบขเบทเบกเปเบเปเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเบฑเบเบซเบฒเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเปเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเบเบฅเบฐเบซเบฑเบเบขเบทเบเบขเบฑเบเปเบเบปเปเบฒ. เบเบฑเบเบเบฑเปเบเปเบเปเบเบปเบเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฑเปเบเบเปเบฒเบงเบชเบฒเบกเบฒเบเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบเบฅเบฐเบซเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเบฒเบเปเบเบทเบญเบเปเบเปเบเปเบเบทเบเบญเบญเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ.
- เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ "const", เปเบเบดเปเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบกเบฑเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเปเปเบเบฒเบกเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป, เปเบกเปเบเปเบเปเบชเปเบฒเบฅเบฑเบเบซเบเปเบฒเบเบตเป is_power_of_two (เบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเปเบเบฑเบกเบเบตเปเบเปเปเปเบเปเปเบเบฑเบ).
- เบชเปเบงเบเปเบซเบกเปเบเบญเบ API เปเบเปเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบเบซเบกเบงเบเบเบปเบเบเบตเป, เบฅเบงเบกเบเบฑเบ todo!() macro เปเบฅเบฐ slice::repeat, mem::take, BTreeMap::get_key_value, HashMap::get_key_value, เบงเบดเบเบตเบเบฒเบเบเปเบฒเบเปเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบเบฝเบเบฅเบฐเบเบฒเบ.
เบเบฒเบเปเบฅเบทเบญเบ::as_deref, Option::as_deref_mut, Option::flatten, UdpSocket::peer_addr, {f32,f64}::to_be_bytes, {f32,f64}::to_le_bytes,{f32,f64}::to_ne32,bytes, f64}::from_be_bytes, {f32,f64}::from_le_bytes, เปเบฅเบฐ {f32,f64}::from_ne_bytes. - เปเบเบเบฒเบเบเบปเบเบชเบปเปเบเบเบนเปเบเบฑเบเบเบฒเบเบเบธเบ
เบเบฐเบเบดเบเบฑเบ caching compiler เปเบเบทเบญเบเบเปเบฝเบงเบเบฑเบ disk. เปเบเบตเปเบกเบเบปเบงเปเบฅเบทเบญเบ "เบเปเปเบกเบนเบเปเบกเบเบฒเปเบเบเบฒเบชเบดเบเบเปเบฒ" เปเบชเปเบเปเบฒเบชเบฑเปเบ "เปเบกเบเบฒเปเบเบเบฒเบเบญเบเบชเบดเบเบเปเบฒ".--filter-platform " เปเบเบทเปเบญเบชเบฐเปเบเบเบเบฝเบเปเบเปเบเบธเบเบเบตเปเบเบนเบเบกเบฑเบเบเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบกเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบช. เปเบเบตเปเบกเบเบฒเบเปเบฅเบทเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ http.ssl-version เปเบเบทเปเบญเบเปเบฒเบเบปเบเปเบงเบตเบเบฑเบ TLS เบเบตเปเบเบทเบเบเปเบญเบ.
เปเบเบตเปเบกเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบเบตเบเปเบเปเบเบฒเบ "dev-dependencies " เปเบเบเบเปเปเบกเบตเบเบฒเบเบฅเบฐเบเบธเบฅเบฐเบซเบฑเบ "เบชเบฐเบเบฑเบ". - rustc compiler เบชเบฐเบซเบเบญเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฅเบฐเบเบฑเบเบเบตเบชเบฒเบกเบชเปเบฒเบฅเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบกเปเบเบปเปเบฒเบซเบกเบฒเบ thumbv7neon-unknown-linux-musleabihf, aarch64-unknown-none-softfloat, mips64-unknown-linux-muslabi64 เปเบฅเบฐ mips64el-unknown-linux-muslabi64. เบฅเบฐเบเบฑเบเบเบตเบชเบฒเบกเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบทเปเบเบเบฒเบ, เปเบเปเบเปเปเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบฅเบฐเบเบฒเบเบเบดเบกเปเบเบตเบเปเบเปเบเบฒเบเบเปเปเบชเปเบฒเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru