เบเบฒเบเบเปเบญเบเบเบญเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบปเปเบงเปเบ Rust 1.58, เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเปเบเบเบเบฒเบ Mozilla, เปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเปเบเปเบเบฒเบเบญเบธเบเบฐเบเปเบฒเบเบญเบเบญเบปเบเบเบฒเบเปเบญเบเบฐเบฅเบฒเบเบเบตเปเบเปเปเบซเบงเบฑเบเบเบปเบเบเปเบฒเปเบฅ Rust Foundation, เปเบเปเบเบทเบเบเบฑเบเบเบตเบกเบกเบฒ. เบเบฒเบชเบฒเบชเบธเบกเปเบชเปเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เปเบฅเบฐเบชเบฐเบซเบเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบงเบฝเบเบเบฒเบเบเบฐเบซเบเบฒเบเบชเบนเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเบซเบผเบท runtime (runtime เบซเบผเบธเบเบฅเบปเบเปเบเบฑเบเบเบทเปเบเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเปเบฅเบฐเบเบฒเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ).
เบเบฒเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบ Rust เบเปเบฒเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเป manipulating pointers เปเบฅเบฐเบเปเบญเบเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเบซเบกเบนเบเปเบเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเบทเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบตเปเบกเบฑเบเปเบเปเบเบทเบเบเบปเบเบเปเบญเบ, null pointer dereferences, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช, เปเบเบเบเบฒเบเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบชเบดเบเบเปเบฒ. เบเบฑเบเปเบเบฑเบ crates.io เปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบเบปเปเบเบเป:
- เปเบเบเบฅเบฑเบญเบเบเบฒเบเบเบฑเบเบฎเบนเบเปเบเบเปเบเบง, เบเบญเบเปเปเบทเบญเปเบเบเบฒเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบปเบงเปเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเบขเปเบฒเบเบเบฐเปเบเปเบเบซเบผเบฑเบเบเบฒเบเปเบเบงเบเบฒเบกเบเบปเบงเปเบฅเบ เปเบฅเบฐเบเบทเป, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบปเบงเบฅเบฐเบเบธเบเบปเบงเบเบปเบเปเบเบเบเบฒเบเปเบเบตเปเบกเบเบณเบงเปเบฒ โ{identifier}โ เปเบชเปเปเบเบงเปเบกเปเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ. เบเบปเบงเบขเปเบฒเบ: // เบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเปเบญเบเบซเบเปเบฒเบเบตเป: println!("เบชเบฐเบเบฒเบเบเบต, {}!", get_person()); println!("เบชเบฐเบเบฒเบเบเบต, {0}!", get_person()); println!("เบชเบฐเบเบฒเบเบเบต, {เบเบปเบ}!", person = get_person()); // เบเบญเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบฐเบเบธ let person = get_person(); println!("เบชเบฐเบเบฒเบเบเบต, {เบเบปเบ}!");
เบเบปเบงเบฅเบฐเบเบธเบเบฑเบเบชเบฒเบกเบฒเบเบฅเบฐเบเบธเปเบเปเปเบเบเบเบปเบเปเบเบเบปเบงเปเบฅเบทเบญเบเบเบฒเบเบเบฑเบเบฎเบนเบเปเบเบ. let (width, precision) = get_format(); เบชเปเบฒเบฅเบฑเบ (เบเบทเป, เบเบฐเปเบเบ) เปเบ get_scores() { println!("{name}: {score:width$.precision$}"); }
เบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบกเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบเบธเบเบกเบฐเบซเบฒเบเบฒเบเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเปเบฒเบเบดเบเบฒเบกเบเบญเบเบฎเบนเบเปเบเบเบชเบฐเบเบฃเบดเบ, เบเบปเบเปเบงเบฑเปเบ "macro panic!" เปเบเบเบฒเบชเบฒ Rust เบฎเบธเปเบ 2015 เปเบฅเบฐ 2018, เปเบเบดเปเบ panic!("{ident}") เบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบฑเบเบชเบฒเบเบเบปเบเบเบฐเบเบด (เปเบ Rust 2021 เบเบฒเบเบเบปเบเปเบเบเปเบฎเบฑเบเบงเบฝเบ).
- เบเบถเบเบเบดเบเปเบฒเบเบญเบ std::process::เปเบเบเบชเปเบฒเบเบเปเบฒเบชเบฑเปเบเปเบเปเบเบฅเบฐเบเบฐเบเบญเบก Windows เปเบเปเบเบทเบเบเปเบฝเบเปเบเบเบเบฑเปเบเบเบฑเปเบเปเบกเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเปเบฒเบเบเบงเบฒเบกเบเบญเบเปเบ, เบกเบฑเบเบเปเปเปเบเปเบเบญเบเบซเบฒเปเบเบฅเปเบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบ. เปเบเปเบฃเบฑเบเบเปเบฃเบตเบเบฑเบเบเบธเบเบฑเบเบเบทเบเบเบปเบเปเบงเบฑเปเบเปเบเบฒเบฐเบงเปเบฒเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบเบเบตเปเปเบเบฑเบเบญเบฑเบเบเบฐเบฅเบฒเบเบเปเบฒเปเบเบเบเบฒเบเบเบทเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบเปเปเบซเบเปเบฒเปเบเบทเปเบญเบเบท (CVE-2021-3013). เปเบซเบเบเบปเบเบเบฒเบเบเบญเบเบเบปเปเบเบซเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบซเบกเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเบญเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบต Rust, เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เปเบเปเบฅเบเบฐเบเปเบฅเบตเบฅเบฐเบเบปเบ Windows, เปเบฅเบฐเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก PATH.
- เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบเปเบเปเบเบฐเบซเบเบฒเบเบเปเบฒเบเบงเบเบซเบเปเบฒเบเบตเปเบซเบกเบฒเบ "#[must_use]" เปเบเบทเปเบญเบญเบญเบเบเปเบฒเปเบเบทเบญเบเบเปเบฒเบเปเบฒเบเบฑเบเบเบทเบเบเบทเบเบฅเบฐเปเบงเบฑเปเบ, เปเบเบดเปเบเบเปเบงเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบซเบเปเบฒเบเบตเปเบเบฐเบเปเบฝเบเบเปเบฒเปเบเบเบเบตเปเบเบฐเบชเบปเปเบเบเบทเบเบเปเบฒเปเบซเบกเป.
- เบเบฒเบเบชเปเบงเบเปเบซเบกเปเบเบญเบ API เปเบเปเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบเบเบฐเปเบเบเบเบญเบเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ, เบฅเบงเบกเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ:
- Metadata::is_symlink
- เปเบชเบฑเปเบเบเบฒเบ::is_symlink
- {integer}::saturating_div
- เบเบฒเบเปเบฅเบทเบญเบ::unwrap_unchecked
- เบเบปเบเปเบเปเบฎเบฑเบ::unwrap_unchecked
- เบเบปเบเปเบเปเบฎเบฑเบ::unwrap_err_unchecked
- เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ "const", เปเบเบดเปเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบกเบฑเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเปเปเบเบฒเบกเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป, เบเบทเบเบเปเบฒเปเบเปเปเบเบซเบเปเบฒเบเบตเป:
- เปเบฅเบเบฐเปเบงเบฅเบฒ::เปเปเป
- เปเบฅเบเบฐเปเบงเบฅเบฒ::checked_add
- เปเบฅเบเบฐเปเบงเบฅเบฒ::saturating_add
- เปเบฅเบเบฐเปเบงเบฅเบฒ::checked_sub
- เปเบฅเบเบฐเปเบงเบฅเบฒ::saturating_sub
- เปเบฅเบเบฐเปเบงเบฅเบฒ::checked_mul
- เปเบฅเบเบฐเปเบงเบฅเบฒ::saturating_mul
- เปเบฅเบเบฐเปเบงเบฅเบฒ::checked_div
- เบญเบฐเบเบธเบเบฒเบเบเบฒเบเบญเปเบฒเบเบญเบดเบเบเบปเบงเบเบตเป "*const T" เปเบเบเปเบฅเบดเบเบปเบ "const".
- เปเบเบเบปเบงเบเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบฑเบเบชเบดเบเบเปเบฒ, เบเปเบญเบเบเปเปเบกเบนเบ rust_version เปเบเปเบเบทเบเปเบเบตเปเบกเปเบชเปเปเบเบฑเบเปเบเบฑเบเปเบกเบเบฒเปเบเบเบฒ, เปเบฅเบฐเบเบปเบงเปเบฅเบทเบญเบ โ--เบเปเปเบเบงเบฒเบก-เบฎเบนเบเปเบเบโ เปเบเปเบเบทเบเปเบเบตเปเบกเปเบชเปเบเปเบฒเบชเบฑเปเบ โเบเบดเบเบเบฑเปเบเบชเบดเบเบเปเบฒโ.
- compiler เบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบปเบเปเบเบเบฒเบเบเบปเบเบเปเบญเบ CFI (Control Flow Integrity), เปเบเบดเปเบเปเบเบตเปเบกเบเบฒเบเบเบงเบเบชเบญเบเบเปเบญเบเปเบเปเบฅเบฐเบเบฒเบเปเบเบเบฒเบเบญเปเบญเบกเปเบเบทเปเบญเบเบงเบเบเบปเบเบเบฒเบเบฎเบนเบเปเบเบเบเบญเบเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบเบเบตเปเบญเบฒเบเบเบฐเบเปเบฒเปเบเบชเบนเปเบเบฒเบเบฅเบฐเปเบกเบตเบเบเปเบฒเบชเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบปเบเบเบฐเบเบด (เบเบฒเบเปเบซเบผเบเบงเบเบเบธเบก) เปเบเบฑเบเบเบปเบเบกเบฒเบเบฒเบ เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบนเบเบฎเบตเบเบเบตเปเบเปเบฝเบเปเบเบเบเบปเบงเบเบตเปเบเบตเปเปเบเบฑเบเปเบงเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบซเบเปเบฒเบเบตเป.
- compiler เปเบเปเปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบฎเบธเปเบ 5 เปเบฅเบฐ 6 เบเบญเบเบฎเบนเบเปเบเบเบเบฒเบเบเบฝเบเบเบฝเบเบเบฒเบเบเบธเปเบกเบเบญเบ LLVM, เปเบเปเปเบเบทเปเบญเบเบฐเปเบกเบตเบเบเบฒเบเบเบธเปเบกเบเบญเบเบฅเบฐเบซเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบ.
- เปเบ compiler, เบเปเปเบเปเบฒเบเบปเบเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฑเบเบเปเบฒเปเบชเบธเบเบเบตเปเบเบญเบ LLVM เปเบเปเบเบทเบเบเบปเบเบเบถเปเบเบกเบฒเปเบเบฑเบ LLVM 12.
- เบฅเบฐเบเบฑเบเบเบตเบชเบฒเบกเบเบญเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเปเบงเบเบต x86_64-unknown-none เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ. เบฅเบฐเบเบฑเบเบเบตเบชเบฒเบกเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบทเปเบเบเบฒเบ, เปเบเปเบเปเปเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฒเบเปเบเบตเบเปเบเปเบเบฒเบเบเปเปเบชเปเบฒเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ, เบซเบผเบทเบเบงเบเปเบเบดเปเบเบงเปเบฒเบฅเบฐเบซเบฑเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเปเบเป.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบฒเบเบเบดเบกเปเบเบตเบเปเบเปเปเบเบ Microsoft เบเบญเบเบเบฒเบเบเปเบญเบ Libraries เบเบญเบ Rust เบชเปเบฒเบฅเบฑเบ Windows 0.30, เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเปเบเบฒเบชเบฒ Rust เปเบเบทเปเบญเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเปเบฒเบฅเบฑเบ Windows OS. เบเบธเบเบเบฐเบเบญเบเบกเบตเบชเบญเบเบเบธเบ crate (windows เปเบฅเบฐ windows-sys), เปเบเบเบเปเบฒเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบ Win API เปเบเปเบเบเบเบฒเบ Rust. เบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ API เปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเปเบเบทเปเบญเบเปเบซเบงเบเบฒเบ metadata เบเบตเปเบญเบฐเบเบดเบเบฒเบ API, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเปเปเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบ Win API เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบเบตเปเบเบฐเบเบฒเบเบปเบเปเบเบญเบฐเบเบฒเบเบปเบ. เบฎเบธเปเบเปเบซเบกเปเปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบกเปเบเบปเปเบฒเบซเบกเบฒเบ UWP (Universal Windows Platform) เปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเบฐเปเบเบ Handle เปเบฅเบฐ Debug.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru