เบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบตเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเบเบปเปเบงเปเบ Rust 1.65, เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเปเบเบเบเบฒเบ Mozilla เปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเปเบเปเบเบฒเบเบญเบธเบเบฐเบเปเบฒเบเบญเบเบญเบปเบเบเบฒเบเปเบญเบเบฐเบฅเบฒเบเบเบตเปเบเปเปเบซเบงเบฑเบเบเบปเบเบเปเบฒเปเบฅ Rust Foundation, เปเบเปเบเบทเบเบเปเบญเบเบญเบญเบเบกเบฒ. เบเบฒเบชเบฒเบเบตเปเปเบเบฑเปเบเปเบชเปเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเปเบฅเบฐเบชเบฐเบซเบเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบเบงเบฒเบกเบเบฐเบซเบเบฒเบเบเบญเบเบงเบฝเบเบชเบนเบเปเบเบเบฐเบเบฐเบเบตเปเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเปเบฅเบฐเปเบงเบฅเบฒเปเบฅเปเบ (runtime เบซเบผเบธเบเบฅเบปเบเปเบเบฑเบเบเบทเปเบเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเปเบฅเบฐเบเบฒเบเบฎเบฑเบเบชเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ).
เบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบ Rust เบเปเบงเบเบเบฐเบขเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเป manipulating pointers เปเบฅเบฐเบเปเบญเบเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบทเปเบเบเบตเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบตเปเบกเบฑเบเปเบเปเบเบทเบเบเบปเบเบเปเบญเบ, dereferencing null pointers, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช, เปเบเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบชเบดเบเบเปเบฒ. เบเบฑเบเปเบเบฑเบ crates.io เปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ.
เบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเปเบขเบนเปเปเบ Rust เปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบกเปเบเบเบเปเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ, เบเบฒเบเบเบดเบเบเบฒเบกเบเบงเบฒเบกเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบงเบฑเบเบเบธ, เบเบฒเบเบเบดเบเบเบฒเบกเบญเบฒเบเบธเบเบญเบเบงเบฑเบเบเบธ (เบเบญเบเปเบเบ), เปเบฅเบฐเบเบฒเบเบเบฐเปเบกเบตเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ. Rust เบเบฑเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบ overflows integer, เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบเบฑเบเบเบญเบเบเปเบฒเบเบปเบงเปเบเบเปเบญเบเบเบฒเบเบเปเบฒเปเบเป, เบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบตเบเบงเปเบฒเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ, เบเปเบฒเปเบเปเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ immutable เปเบฅเบฐเบเบปเบงเปเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเบดเบกเบเบปเบเบเบตเปเบเบตเปเปเบเบฑเปเบกเปเบเบเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบเบปเปเบเบเป:
- เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ Generic Associated Types (GAT), เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเปเบฒเบเบเบฒเบกเปเบเบเบเบฐเปเบเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฐเปเบเบเบญเบทเปเบ, เปเบฅเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบปเบงเบชเปเบฒเบเบเบฐเปเบเบเบเบตเปเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเป. trait Foo { type Bar<'x> ; }
- เบเบฒเบเบชเบฐเปเบเบเบญเบญเบ "เปเบซเป ... เบญเบทเปเบ" เบเบทเบเบเบฐเบเบดเบเบฑเบ, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเปเบเบดเปเบเปเบเบทเปเบญเบเปเบเบเบฒเบเบเบฑเบเบเบนเปเบฎเบนเบเปเบเบเปเบเบเบเบปเบเบเบฒเบเปเบเบเบฒเบเบชเบฐเปเบเบ "เปเบซเป" เปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบเบเบตเปเบกเบฑเบเบเปเบฒเบฎเบนเบเปเบเบเบเปเปเบเบปเบเบเบฑเบ. เปเบซเป Ok(count) = u64::from_str(count_str) else { panic!("เบเปเปเบชเบฒเบกเบฒเบเปเบเบเบเบณเบเบงเบเปเบเบฑเบก: '{count_str}'"); };
- เบกเบฑเบเปเบเปเบเบทเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเปเบเปเบฒเบชเบฑเปเบเบขเบธเบเปเบเบทเปเบญเบญเบญเบเบเบฒเบเบเบฅเบฑเบญเบเบเบตเปเบกเบตเบเบทเปเบเปเบญเบเปเบงเบญเบฑเบเบเบงเบ, เปเบเบเปเบเปเบเบทเปเบเบฅเบฑเบญเบ (เบเปเบฒเบเบเบทเป) เปเบเบทเปเบญเบเปเบฒเบเบปเบเบเบฅเบฑเบญเบเบเบตเปเบเบฐเบขเบธเบ. เปเบซเปเบเบปเบเปเบเปเบฎเบฑเบ = 'block: { do_thing(); เบเปเบฒ condition_not_met() { break 'block 1; } do_next_thing(); เบเปเบฒ condition_not_met() { break 'block 2; } do_last_thing(); 3};
- เบชเปเบฒเบฅเบฑเบ Linux, เปเบเปเปเบเบตเปเบกเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเบเบฒเบเบเบตเบเบฑเบเปเบเบเบเปเบฒเบเบซเบฒเบ (split-debuginfo), เบเปเบญเบเบซเบเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบชเปเบฒเบฅเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบก macOS เปเบเบปเปเบฒเบเบฑเปเบ. เบเบฒเบเบฅเบฐเบเบธเบเบปเบงเปเบฅเบทเบญเบ "-Csplit-debuginfo=unpacked" เบเบฐเบเบฑเบเบเบถเบเบเปเปเบกเบนเบ debuginfo เปเบเบฎเบนเบเปเบเบ DWARF เปเบเบปเปเบฒเปเบเปเบเปเบเบฅเปเบงเบฑเบเบเบธเปเบเบเบเปเบฒเบเบซเบฒเบเบซเบผเบฒเบเปเบเบฅเปเบเบตเปเบกเบตเบเบฒเบกเบชเบฐเบเบธเบ ".dwo". เบเบฒเบเบฅเบฐเบเบธ "-Csplit-debuginfo=packed" เบเบฐเบชเปเบฒเบเบเบธเบเบเบฝเบงเปเบเบฎเบนเบเปเบเบ ".dwp" เปเบเบดเปเบเบฅเบงเบกเปเบญเบปเบฒเบเปเปเบกเบนเบเบเบตเบเบฑเบเบเบฑเบเปเบปเบเบชเปเบฒเบฅเบฑเบเปเบเบเบเบฒเบ. เปเบเบทเปเบญเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเปเปเบกเบนเบเบเบตเบเบฑเบเปเบเบเบเบปเบเปเบเบปเปเบฒเปเบเบชเปเบงเบ .debug_* เบเบญเบเบงเบฑเบเบเบธ ELF, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเบเบปเบงเปเบฅเบทเบญเบ "-Csplit-debuginfo=off".
- เบเบฒเบเบชเปเบงเบเปเบซเบกเปเบเบญเบ API เปเบเปเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบเบเบฐเปเบเบเบเบญเบเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ, เบฅเบงเบกเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ:
- std::backtrace::backtrace
- เบเบนเบเบกเบฑเบ::as_ref
- std::io::read_to_string
- <*const T>::cast_mut
- <*mut T>::cast_const
- เบเบธเบโเบฅเบฑเบโเบชเบฐโเบเบฐ "constโ"โ, เปเบเบดเปเบโเบเปเบฒโเบเบปเบโเบเบงเบฒเบกโเปเบเบฑเบโเปเบโเปเบเปโเบเบญเบโเบเบฒเบโเบเปเบฒโเปเบเปโเปเบโเบชเบฐโเบเบฒเบโเบเบฒเบโเปเบโเบซเบเบถเปเบโเปเบเบโเบเบตเปโเบเบฐโเปเบเบฑเบโเบเบปเบโเบเบตเปโ, เปเบเปโเบเบทเบโเบเปเบฒโเปเบเปโเปเบโเบซเบเปเบฒโเบเบตเป <*const T&>::offset_from เปเบฅเบฐ <*mut T>::offset_from
- เปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบฑเปเบเบเบญเบเบชเบธเบเบเปเบฒเบเบเบญเบเบเบฒเบเปเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเปเบเปเบเบเบญเบ LSP (Language Server Protocol) เบเบฑเบ rust-analyzer, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบฅเปเบฒเบชเบฐเปเบซเบกเบเบญเบ Rust Language Server (RLS) เปเบเปเบเบทเบเบเปเบฝเบเปเบเบเบเปเบงเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ stub เบเบตเปเบญเบญเบเบเปเบฒเปเบเบทเบญเบเบเบตเปเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฝเบเปเบเปเบเป rust. - เบเบฑเบโเบงเบดโเปเบเบฒเบฐโ.
- เปเบกเบทเปเบญเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบ, เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป inline เบเบญเบเบฅเบฐเบซเบฑเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ MIR เปเบกเปเบเปเบเบตเบเปเบเป, เปเบเบดเปเบเปเบฅเบฑเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบญเบเปเบเบฑเบเปเบเบฑเบ crate เบเบปเบเบเบฐเบเบดเปเบเบ 3-10%.
- เปเบเบทเปเบญเปเบฅเบฑเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบฒเบกเบเบณเบเบปเบเปเบงเบฅเบฒ, เบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบชเบดเบเบเปเบฒเบชเบฐเปเบญเบเบเบฒเบเบเบฑเบเบฅเบฝเบเบงเบฝเบเบเบตเปเบฅเปเบเปเบฒเบขเบนเปเปเบเบเบดเบง.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเบชเปเบฒเบเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบชเบฒ Rust เบเบตเป Volvo เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบญเบปเบเบเบฐเบเบญเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเปเปเบกเบนเบเบเปเบฒเบงเบชเบฒเบเบฅเบปเบเบเบปเบเบชเบฒเบกเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบ. เบเปเปเบกเบตเปเบเบเบเบตเปเบเบฐเบเบฝเบเบเบทเบเบฅเบฐเบซเบฑเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเปเบฅเบฐเบเบปเบเบชเบญเบเปเบ Rust, เปเบเปเบชเปเบฒเบฅเบฑเบเบฅเบฐเบซเบฑเบเปเบซเบกเป, Rust เปเบกเปเบเบซเบเบถเปเบเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเบเบธเบเบเบฐเบเบฒเบเบเปเบงเบเบเปเบฒเปเบเปเบเปเบฒเบเบเปเปเบฒ. เบเบธเปเบกเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบตเบเบเบตเปเปเปเบฝเบเบเปเปเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเบขเบนเปเปเบเบชเบฐเบกเบฒเบเบปเบกเบฅเบปเบเบเบปเบ AUTOSAR (AUTomotive Open System ARchitecture) เปเบฅเบฐ SAE (เบชเบฐเบกเบฒเบเบปเบกเบงเบดเบชเบฐเบงเบฐเบเบญเบเบเบฒเบเบเบปเบ).
เบเบญเบเบเบฒเบเบเบฑเปเบ, David Kleidermacher, VP of Engineering at Google, เปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบเบฒเบชเบฒ Rust เบเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเปเบเปเปเบเปเบงเบเบต Android เปเบเบทเปเบญเบเบฑเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเปเบฒเปเบเป Rust เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ DNS over HTTPS protocol, เปเบ stack เบชเปเบฒเบฅเบฑเบ. UWB- เบเบดเบ (Ultra-Wideband) เปเบฅเบฐเปเบเบเบญเบ virtualization (Android Virtualization Framework) เบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบดเบ Tensor G2. เบชเปเบฒเบฅเบฑเบ Android, stacks เปเบซเบกเปเบชเปเบฒเบฅเบฑเบ Bluetooth เปเบฅเบฐ Wi-Fi เบเบฑเบเบเบทเบเบเบฑเบเบเบฐเบเบฒ, เบเบฝเบเปเบซเบกเปเปเบ Rust. เบเบธเบเบเบฐเบชเบฒเบเบเบปเปเบงเปเบเปเบกเปเบเบเบฒเบเบเปเบฒเบงเบซเบเปเบฒเบเบฒเบเบเปเบฒเบเบเบงเบฒเบกเบเบญเบเปเบ, เบเปเบฒเบญเบดเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเปเบงเบเบตเปเบเปเปเบเบญเบเปเบเปเบฅเบฐเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเปเบเบชเบนเป Rust, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบซเบเบฒเบเปเบเบชเบนเปเบฅเบฐเบเบปเบเบเปเบญเบเบญเบทเปเบเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบงเบเบกเบฑเบ. เบเบตเบเบตเปเบเปเบฒเบเบกเบฒ, Rust เปเบเปเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเบฒเบชเบฒเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฑเบเบเบฐเบเบฒเปเบงเบเบต Android.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru