ืื ืืขืืืื ื ืคืื ืืขืจ ืืขื ืขืจืึทื-ืฆืืืขืง ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื Rust 1.58, ืืขืืจืื ืืขื ืืืจื ืื ืืึธืืืืืึท ืคึผืจืืืขืงื, ืึธืืขืจ ืืืฆื ืืขืืืขืืึธืคึผืขื ืืื ืืขืจ ืื ืึธืืกืคึผืืกืื ืคืื ืื ืคืจืืึท ื ืึทื-ื ืืฅ ืึธืจืืึทื ืืืึทืฆืืข Rust Foundation, ืืื ืืจืืืก. ืื ืฉืคึผืจืึทื ืคืึธืืงืืกืื ืืืืฃ ืืืงืึธืจื ืืืืขืจืงืืึทื, ืืื ืึธืืึทืืึทืืืง ืืึผืจืื ืคืึทืจืืืึทืืืื ื ืืื ืืื ืื ืืืื ืฆื ืืขืจืืจืืืื ืืืื ืึทืจืืขื ืคึผืึทืจืึทืืขืืืืึทื ืึธื ื ืืฆื ืึท ืืืกื ืงืึทืืขืงืืขืจ ืึธืืขืจ ืจืื ืืืืข (ืจืื ืืืืข ืืื ืจืืืืกื ืฆื ืืงืขืจืืืง ืื ืืืืึทืืืืืืฉืึทื ืืื ืืืฉืึทืื ืคืื ืื ื ืึธืจืืึทื ืืืืืืึธืืขืง).
ืจืืกื ืก ืึธืืึทืืึทืืืง ืืึผืจืื ืคืึทืจืืืึทืืืื ื ืกืึทืืืขืก ืื ืืขืืืขืืึธืคึผืขืจ ืคืื ืขืจืจืึธืจืก ืืืขื ืืึทื ืืคึผืืึทืืืืืื ื ืคึผืืื ืืขืจื ืืื ืคึผืจืึทืืขืงืฅ ืงืขืื ืคืจืืืืขืืขื ืืืึธืก ืฉืืืืขื ืจืขืื ืฆื ื ืืืขืจืืง-ืืืจืื ืืึผืจืื ืืึทื ืืคึผืืึทืืืืฉืึทื, ืึทืืึท ืืื ืึทืงืกืขืก ืึท ืืึผืจืื ืืขืื ื ื ืึธื ืืืคืจืืื, ืืขืจืคืืจืึทื ืกืื ื ื ืึทื ืคึผืืื ืืขืจื, ืืึทืคืขืจ ืึธืืืืขืจืจืึทื ื, ืขืืง. ืฆื ืคืึทืจืฉืคึผืจืืืื ืืืืืจืขืจืื, ืฆืืฉืืขืื ืืืืขื ืืื ืคืืจื ืืืคึผืขื ืืึทื ืกืื, ืื ืคึผืจืืืขืงื ืืขืืืขืืึธืคึผืก ืื ืงืึทืจืืึธ ืคึผืขืงื ืคืึทืจืืืึทืืืขืจ. ืื crates.io ืจืืคึผืึทืืึทืืึธืจื ืืื ืืขืฉืืืฆื ืคึฟืึทืจ ืืึธืกืืื ื ืืืืืจืขืจืื.
ืืืืคึผื ืืืืืฉืื:
- ืืื ืฉืืจื ืคืึธืจืืึทืืืื ื ืืืึทืงืก, ืืื ืึทืืืฉืึทื ืฆื ืื ืคืจืืขืจ ืื ืืืฆื ืคืืืืงืืื ืฆื ืคืึทืจืืืึทืื ืืืขืจืืึทืืึทืื ืืคืืจืืฉ ืืืกืืขื ื ืึธื ืึท ืฉืืจื ืืืจื ื ืืืขืจ ืืื ื ืึธืืขื, ืื ืคืืืืงืืื ืฆื ืคืึทืจืืืึทืื ืึทืจืืืืจืึทืจืืฉ ืืืขื ืืืคืืขืจืก ืืืจื ืึทืืื ื ืื ืืืืกืืจืืง "{ืืืขื ืืืคืืขืจ}" ืฆื ืื ืฉืืจื ืืื ืืืคึผืืึทืืขื ืึทื. ืคึฟืึทืจ ืืืึทืฉืคึผืื: // ืืื ืึทืืขืจ ืืขืฉืืืฆื ืงืึทื ืกืืจืึทืงืฉืึทื ื: println!("ืืขืื, {}!", get_person()); println!("ืืขืื, {0}!", get_person()); println! ("ืืขืื, {ืืขื ืืฉ}!", ืืขื ืืฉ = get_person()); // ืืืฆื ืืืจ ืงืขื ืขื ืกืคึผืขืฆืืคืืฆืืจื ืืึธืื ืืขื ืืฉ = get_person (); println!("ืืขืื, {ืืขื ืืฉ}!");
ืืืขื ืืืคืืขืจืก ืงืขื ืขื ืืืื ืืืื ืกืคึผืขืกืืคืืขื ืืืืึทื ืืื ืคืึธืจืืึทืืืื ื ืึธืคึผืฆืืขืก. ืืึธืื (ืืจืืื, ืคึผืื ืืืขืืงืืึทื) = ืืึทืงืืืขื_ืคืึธืจืืึทื (); ืคึฟืึทืจ (ื ืึธืืขื, ืืขืืฉืื) ืืื get_scores() {println!("{ื ืึธืืขื}: {ืกืงืึธืจืข:ืืจืืื$.ืคึผืจืขืกืืกืืึธื$}"); }
ืื ื ืืึทืข ืกืึทืืกืืืืืฉืึทื ืึทืจืืขื ืืื ืึทืืข ืืึทืงืจืึธืก ืืืึธืก ืฉืืืฆื ืฉืืจืืงื ืคึฟืึธืจืืึทื ืืขืคึฟืื ืืฆืืข, ืืื ืื ืืืกื ืขื ืคืื ืื "ืคึผืึทื ืืง!" ืืึทืงืจืึธื. ืืื ืื 2015 ืืื 2018 ืืืขืจืกืืขืก ืคืื ืื ืจืืกื ืฉืคึผืจืึทื, ืืื ืืืึธืก ืคึผืึทื ืืง! ("{ident}") ืืื ืืืืื ืืื ืืื ืึท ืจืขืืืืขืจ ืฉืืจืืงื (ืืื Rust 2021 ืื ืกืึทืืกืืืืืฉืึทื ืึทืจืืขื).
- ืื ื ืึทืืืจ ืคืื ืื std :: ืคึผืจืึธืฆืขืก :: ืืึทืคึฟืขืื ืกืืจืืงืืืจ ืืืืฃ ืื Windows ืคึผืืึทืืคืึธืจืืข ืืื ืคืืจืขื ืืขืจื ืึทืืื ืึทื ืืืขื ืขืงืกืึทืงืืืืื ื ืงืึทืืึทื ืื, ืคึฟืึทืจ ืืืืขืจืืืื ืกืืืืช, ืขืก ื ืื ืืขืจ ืงืืงื ืคึฟืึทืจ ืขืงืกืขืงืืืึทืืืข ืืขืงืขืก ืืื ืื ืงืจืึทื ื ืืืขืืืืืึทืืขืจ. ืื ืงืจืึทื ื ืืืขืืืืืึทืืขืจ ืืื ืืงืกืงืืืืื ืืืืึทื ืขืก ืงืขื ืืืื ืืขืืืืื ื ืฆื ืืืกืคืืจื ืืืืืข ืงืึธื ืืืื ืืืืื ืืขื ืขื ืืืืคื ืืื ืึทื ืืจืึทืกื ืืืืจืขืงืืขืจืื (CVE-2021-3013). ืื ื ืืึทืข ืขืงืกืขืงืืืึทืืืข ืืืืขืงืฉืึทื ืืึธืืืง ืื ืืืึทืืืื ืืืื ืื ืจืืกื ืืืืจืขืงืืขืจืื, ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืขืืืืืึทืืขืจ, ืื Windows ืกืืกืืขื ืืืขืืืืืึทืืขืจ ืืื ืื ืืืจืขืงืืขืจืื ืกืคึผืขืกืืคืืขื ืืื ืื PATH ืกืืืืืืข ืืืึทืืขืืืืืง.
- ืื ืกืืึทื ืืึทืจื ืืืืืืึธืืขืง ืืื ืืงืกืคึผืึทื ืืื ืื ื ืืืขืจ ืคืื ืคืึทื ืืงืฉืึทื ื ืื ืืขืฆืืืื ื "#[ืืืื_ื ืืฆื]" ืฆื ืึทืจืืืกืืขืื ืึท ืืืืจืขื ืื ื ืืืื ืื ืฆืืจืืงืงืขืจ ืืืขืจื ืืื ืืืื ืึธืจืืจื, ืืืึธืก ืืขืืคึผืก ืฆื ืืืขื ืืืคืืฆืืจื ืขืจืจืึธืจืก ืืขืคึฟืืจื ืืืจื ืึทืกืืืื ื ืึท ืคึฟืื ืงืฆืืข ืืืขื ืืืืฉื ืืืึทืืืขืก ืืื ืืื ืฆืืจืืงืงืืืขื ืึท ื ืืึทืข ืืืขืจื.
- ื ื ืืึทืข ืืืื ืคืื ืื API ืืื ืืจืืืขืจืืขืคืืจื ืฆื ืืขืจ ืงืึทืืขืืึธืจืืข ืคืื โโืกืืึทืืื, ืึทืจืืึทื ืืขืจืขืื ื ืื ืืขืืืึธืืก ืืื ืืืคึผืืึทืืึทื ืฅ ืคืื ืืจืืืฅ ืืขื ืขื ืกืืืืืึทืืืืื:
- ืืขืืึทืืึทืืึท::is_symlink
- ืืจื :: ืืื_ืกืืืืื ืง
- {ืื ืืขืืขืจ}::ืกืึทืืืจืึทืืื ื_ืืืืื
- ืึธืคึผืฆืืข::unwrap_unchecked
- ืจืขืืืืืึทื::unwrap_unchecked
- ืจืขืืืืืึทื::unwrap_err_unchecked
- ืื "ืงืึธื ืกื" ืึทืืจืืืืื, ืืืึธืก ืืืืขืจืืึทื ื ืื ืืขืืืขืืงืืื ืคืื ื ืืฆื ืขืก ืืื ืงืืื ืงืึธื ืืขืงืกื ืึทื ืฉืืึธื ืคืื ืงืึทื ืกืืึทื ืฅ, ืืื ืืขื ืืฆื ืืื ืื ืคืึทื ืืงืฉืึทื ื:
- Duration :: ื ืืึท
- ืืขืืืืขืจ::checked_add
- Duration::saturating_add
- ืืขืืืืขืจ::checked_sub
- Duration::saturating_sub
- ืืขืืืืขืจ::checked_mul
- Duration::saturating_mul
- ืืขืืืืขืจ::checked_div
- ืืขืจืืืืื ืืขืจืคืืจืึทื ืกืื ื ืคืื "* ืงืึธื ืกื ื" ืคึผืืื ืืขืจื ืืื "ืงืึธื ืกื" ืงืึทื ืืขืงืกืฅ.
- ืืื ืื ืืึทืกื ืคึผืขืงื ืคืึทืจืืืึทืืืขืจ, ืื rust_version ืคืขืื ืืื ืฆืืืขืืขืื ืฆื ืื ืคึผืขืงื ืืขืืึทืืึทืืึท, ืืื ืื "--ืืขืกืขืืืฉ-ืคืึธืจืืึทื" ืึธืคึผืฆืืข ืืื ืฆืืืขืืืืื ืฆื ืื "cargo install" ืืึทืคึฟืขื.
- ืืขืจ ืงืึทืืคึผืืืืขืจ ืืืคึผืืึทืืึทื ืฅ ืฉืืืฆื ืคึฟืึทืจ ืื CFI (ืงืึธื ืืจืึธื ืคืืึธื ืึธืจื ืืืขืืงืืึทื) ืฉืืฅ ืืขืงืึทื ืืืึทื, ืืืึธืก ืืืกืืฃ ืืฉืขืงืก ืืืืืขืจ ืืขืืขืจ ืืืืืจืขืงื ืจืืคื ืฆื ืืขืืขืงื ืขืืืขืืข ืคืืจืืขื ืคืื ืึทื ืืืคืืื ื ื ืึทืืืจ ืืืึธืก ืงืขื ืคึผืึทืืขื ืืฉืึทืื ืคืืจื ืฆื ืึท ืืืืขื ืคืื ืืขืจ ื ืึธืจืืึทื ืืืจืืคืืจืื ื ืกืืจ (ืงืึธื ืืจืึธื ืืืืคื) ืืื ืึท ืจืขืืืืืึทื ืคืื ืื ื ืืฆื ืคืื ืขืงืกืคึผืืืืฅ ืึทื ืืืืฉื ืคึผืึธืื ืืขืจื ืกืืึธืจื ืืื ืืึผืจืื ืืืืฃ ืคืึทื ืืงืฉืึทื ื.
- ืืขืจ ืงืึทืืคึผืืืืขืจ ืืื ืฆืืืขืืืืื ืฉืืืฆื ืคึฟืึทืจ ืืืขืจืกืืขืก 5 ืืื 6 ืคืื ืื LLVM ืงืึทืืืขืจืืืืฉ ืคืึทืจืืืืึทื ืคึฟืึธืจืืึทื, ืืขื ืืฆื ืฆื ืึธืคึผืฉืึทืฆื ืงืึธื ืงืึทืืืขืจืืืืฉ ืืขืฉืึทืก ืืขืกืืื ื.
- ืืื ืื ืงืึทืืคึผืืืืขืจ, ืื ืจืขืงืืืืจืขืืขื ืฅ ืคึฟืึทืจ ืื ืืื ืืืื ืืืขืจืกืืข ืคืื โโLLVM ืืขื ืขื ืืืืคืืขืฉืืื ืขื ืฆื LLVM 12.
- ืื ืืจืื ืืืจืื ืคืื ืฉืืืฆื ืคึฟืึทืจ ืื x86_64-unknown-none ืคึผืืึทืืคืึธืจืืข ืืื ืืืคึผืืึทืืขื ืึทื. ืื ืืจืื ืืืจืื ืื ืืืึทืืืื ืืงืขืจืืืง ืฉืืืฆื, ืึธืืขืจ ืึธื ืึธืืึทืืืืืื ืืขืกืืื ื, ืืจืืืกืืขืื ืืึทืึทืืืขืจ ืืืืขื ืึธืืขืจ ืงืึธื ืืจืึธืืืจื ืฆื ืื ืงืึธื ืงืขื ืขื ืืืื ืืขืืืื.
ืืขืจืฆื, ืืืจ ืงืขื ืขื ืืึธื ืื ืืืกืืึทืืข ืคืื โโืืืืงืจืึธืกืึธืคึฟื ืคืื ืื ืืขืืืื ื ืคืื Rust for Windows 0.30 ืืืืืจืขืจืื, ืืืึธืก ืืึธืื ืืืจ ืฆื ื ืืฆื ืื Rust ืฉืคึผืจืึทื ืฆื ืึทื ืืืืืงืืขื ืึทืคึผืืึทืงืืืฉืึทื ื ืคึฟืึทืจ ืื Windows ืึทืก. ืืขืจ ืกืืื ืืืื ืฆืืืื ืงืจืืื ืคึผืึทืงืึทืืืฉืึทื (Windows ืืื Windows-sys), ืืืจื ืืืึธืก ืืืจ ืงืขื ืขื ืึทืงืกืขืก ืื Win API ืืื Rust ืืืืื. ืงืึธื ืคึฟืึทืจ ืึทืคึผื ืฉืืืฆื ืืื ืืืฉืขื ืขืจืืืืึทื ืืื ืึทืืืงืึทืืื ืคึฟืื ืืขืืึทืืึทืืึท ืืืกืงืจืืืืื ื ืื ืึทืคึผื, ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืื ืกืืจืืืขื ื ืฉืืืฆื ื ืื ืืืืื ืคึฟืึทืจ ืืืืืกืืื ื Win API ืงืึทืืืก, ืึธืืขืจ ืคึฟืึทืจ ืงืึทืืืก ืืืึธืก ืืืขื ืืขืจืฉืืึทื ืขื ืืื ืืขืจ ืฆืืงืื ืคึฟื. ืื ื ืืึทืข ืืืขืจืกืืข ืืืกืืฃ ืฉืืืฆื ืคึฟืึทืจ ืื UWP (Universal Windows Platform) ืฆืื ืคึผืืึทืืคืึธืจืืข ืืื ืืืคึผืืึทืืึทื ืฅ ืื ืืึทื ืืืข ืืื ืืขืืื ืืืืคึผืก.
ืืงืืจ: opennet.ru