เบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบตเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเบเบปเปเบงเปเบ Rust 1.61, เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเปเบเบเบเบฒเบ Mozilla เปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเปเบเปเบเบฒเบเบญเบธเบเบฐเบเปเบฒเบเบญเบเบญเบปเบเบเบฒเบเปเบญเบเบฐเบฅเบฒเบเบเบตเปเบเปเปเบซเบงเบฑเบเบเบปเบเบเปเบฒเปเบฅ Rust Foundation, เปเบเปเบเบทเบเบเปเบญเบเบญเบญเบเบกเบฒ. เบเบฒเบชเบฒเบเบตเปเปเบเบฑเปเบเปเบชเปเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเปเบฅเบฐเบชเบฐเบซเบเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบเบงเบฒเบกเบเบฐเบซเบเบฒเบเบเบญเบเบงเบฝเบเบชเบนเบเปเบเบเบฐเบเบฐเบเบตเปเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเปเบฅเบฐเปเบงเบฅเบฒเปเบฅเปเบ (runtime เบซเบผเบธเบเบฅเบปเบเปเบเบฑเบเบเบทเปเบเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเปเบฅเบฐเบเบฒเบเบฎเบฑเบเบชเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ).
เบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบ Rust เบเปเบงเบเบเบฐเบขเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเป manipulating pointers เปเบฅเบฐเบเปเบญเบเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบทเปเบเบเบตเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบตเปเบกเบฑเบเปเบเปเบเบทเบเบเบปเบเบเปเบญเบ, dereferencing null pointers, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช, เปเบเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบชเบดเบเบเปเบฒ. เบเบฑเบเปเบเบฑเบ crates.io เปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ.
เบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเปเบขเบนเปเปเบ Rust เปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบกเปเบเบเบเปเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ, เบเบฒเบเบเบดเบเบเบฒเบกเบเบงเบฒเบกเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบงเบฑเบเบเบธ, เบเบฒเบเบเบดเบเบเบฒเบกเบญเบฒเบเบธเบเบญเบเบงเบฑเบเบเบธ (เบเบญเบเปเบเบ), เปเบฅเบฐเบเบฒเบเบเบฐเปเบกเบตเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ. Rust เบเบฑเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบ overflows integer, เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบเบฑเบเบเบญเบเบเปเบฒเบเบปเบงเปเบเบเปเบญเบเบเบฒเบเบเปเบฒเปเบเป, เบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบตเบเบงเปเบฒเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ, เบเปเบฒเปเบเปเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ immutable เปเบฅเบฐเบเบปเบงเปเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเบดเบกเบเบปเบเบเบตเปเบเบตเปเปเบเบฑเปเบกเปเบเบเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบเบปเปเบเบเป:
- เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบฅเบฐเบซเบฑเบเบเบฑเบเบเบทเบเบเบญเบเบเปเบฒเบเปเบญเบเบเบฒเบเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเป. เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบซเบเปเบฒเบเบตเปเบเบปเปเบเบเปเบเบญเบ Rust เบชเบฒเบกเบฒเบเบชเบปเปเบเบเบทเบเบเบฝเบเปเบเปเบเบฐเปเบเบ "()" (เบซเบเปเบงเบ), เปเบเบดเปเบเบชเบฐเปเบซเบกเบตเบเบตเปเปเบซเปเปเบซเบฑเบเปเบเบดเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบญเบญเบเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเปเบงเบฑเปเบเปเบชเบเปเบเปเบงเปเบฒเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบตเปเบเบงเปเบฒ "เบเบฐเบเบงเบเบเบฒเบ:: เบญเบญเบ (เบฅเบฐเบซเบฑเบ)" เบเบฑเบเบเบฑเบ. เปเบ Rust 1.26, เบเบฒเบเบเปเบฒเปเบเปเบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบชเบดเปเบเบชเบธเบเบเบตเปเบเปเปเบซเบกเบฑเปเบเบเบปเบเปเบเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเป, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบชเบปเปเบเบเบทเบเบเปเบฒ "Ok" เปเบฅเบฐ "Err", เบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฑเบเบฅเบฐเบซเบฑเบ EXIT_SUCCESS เปเบฅเบฐ EXIT_FAILURE เปเบเปเบเบฃเปเบเบฃเบก C. เปเบ Rust 1.61, เบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบชเบดเปเบเบชเบธเบเปเบเปเบเบทเบเปเบฎเบฑเบเปเบซเปเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ, เปเบฅเบฐเบเบฐเปเบเบ ExitCode เปเบเบเบเปเบฒเบเบซเบฒเบเปเบเปเบเบทเบเบชเบฐเปเบซเบเบตเปเบซเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบปเบเบเบญเบเปเบเบเบชเบฐเปเบเบฒเบฐ, เปเบเบดเปเบ abstracts เบเบฐเปเบเบเบเบปเบเบเบญเบเปเบเบเบชเบฐเปเบเบฒเบฐเบเบญเบเปเบเบฅเบฐเบเบฐเบเบญเบกเปเบเบเบเบฒเบเบชเบฐเบซเบเบญเบเบเปเบฒเบเบปเบเบเบตเปเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเบเปเบญเบ SUCCESS เปเบฅเบฐ FAILURE, เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบฒเบ. เปเบเบทเปเบญเบชเบปเปเบเบเบทเบเบฅเบฐเบซเบฑเบเบชเบปเปเบเบเบทเบเปเบเบเบเบณเบเบปเบเปเบญเบ. เปเบเป std::process::ExitCode; fn main() -> ExitCode { if !check_foo() { return ExitCode::from(8); } ExitCode::SUCCESS }
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบเบญเบเบซเบเปเบฒเบเบตเปเบเปเบฒเบเบปเบเปเบเบเปเบเปเบเปเบฒเปเบงเบปเปเบฒ "const fn" เปเบเปเบเบทเบเบชเบฐเบเบฝเบเบฅเบฐเบเบฒเบ, เปเบเบดเปเบเบชเบฒเบกเบฒเบเปเบญเบตเปเบเบงเปเบฒเบเปเปเบเบฝเบเปเบเปเบซเบเปเบฒเบเบตเปเบเบปเบเบเบฐเบเบด, เปเบเปเบเบฑเบเปเบเปเปเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเปเปเบเบฒเบกเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป. เบเบฑเบเบเบฑเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบเบดเบเปเบฅเปเปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบก, เบเปเปเปเบกเปเบเปเบเปเบงเบฅเบฒเปเบฅเปเบ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเบกเบฑเบเบกเบตเบเปเปเบเปเบฒเบเบฑเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบญเปเบฒเบเบเบฝเบเปเบเปเบเบฒเบเบเปเบฒเบเบปเบเบเบตเป. เปเบเบชเบฐเบเบฑเบเปเบซเบกเป, เบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบทเปเบเบเบฒเบเบเบตเปเบกเบตเบเบปเบงเบเบตเปเบเบฑเบเบเบฑเบเปเบกเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบขเบนเปเปเบเบซเบเปเบฒเบเบตเป const (เบเบฒเบเบชเปเบฒเบ, เบเบฒเบเบเปเบฒเบเบเบญเบเปเบฅเบฐเบเบฒเบเปเบเบเบเบปเบงเบเบตเปเปเบกเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเป, เปเบเปเบเปเปเปเบซเปเปเบเบซเบฒเบซเบเปเบฒเบเบตเปเปเบเบเบเบปเบงเบเบตเป); trait bounds เบชเปเบฒเบฅเบฑเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบปเปเบงเปเบเบเบญเบเบซเบเปเบฒเบเบตเป const เปเบเบฑเปเบ T: Copy; เบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบชเบฒเบกเบฒเบเบชเบปเปเบเปเบเปเปเบเบเปเบเบทเปเบญเบเปเบซเบง (dyn Trait); impl เบเบฐเปเบเบเบฅเบฑเบเบชเบฐเบเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบฝเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเปเบฒเบเบฑเบเบเบทเบ.
- เบเบฒเบเบเปเบฒเบเบเบญเบเบเบฑเบเบเบฒเบ Stdin, Stdout เปเบฅเบฐ Stderr เปเบ std::io เบเบญเบเบเบตเปเบกเบตเบญเบฒเบเบธเบเบปเบเบเบตเป ("'static") เปเบกเบทเปเบญเบเบทเบเบฅเบฑเบญเบ, เบญเบฐเบเบธเบเบฒเบเปเบซเปเบกเบตเปเบเบเบชเปเบฒเบเปเบเบฑเปเบ "let out = std::io::stdout().lock();" เบเบฑเบเบเบฒเบเปเบเปเบฎเบฑเบเบกเบทเบเบฑเบเปเบฅเบฐเบเปเบฒเบเบปเบ lock เปเบเบซเบเบถเปเบเบชเบฐเปเบเบเบญเบญเบ.
- เบเบฒเบเบชเปเบงเบเปเบซเบกเปเบเบญเบ API เปเบเปเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบเบเบฐเปเบเบเบเบญเบเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ, เบฅเบงเบกเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ:
- PIN::static_mut
- เบเบฑเบเปเบธเบ::static_ref
- Vec::retain_mut
- VecDeque::retain_mut
- เบเบฝเบเบชเปเบฒเบฅเบฑเบเบเบปเบงเบเบฐเบเบดเบ<[u8; เบ]>
- std::os::unix::net::SocketAddr::from_pathname
- std::process::ExitCode
- std::เบเบฐเบเบงเบเบเบฒเบ::เบเบฒเบเบชเบดเปเบเบชเบธเบ
- std::thread::JoinHandle::is_finished
- เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ "const", เปเบเบดเปเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบกเบฑเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเปเปเบเบฒเบกเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป, เบเบทเบเบเปเบฒเปเบเปเปเบเบซเบเปเบฒเบเบตเป:
- <*const T>::offset เปเบฅเบฐ <*mut T>::offset
- <*const T>::wrapping_offset เปเบฅเบฐ <*mut T>::wrapping_offset
- <*const T>::add เปเบฅเบฐ <*mut T>::add
- <*const T>::sub เปเบฅเบฐ <*mut T>::sub
- <*const T>::wrapping_add เปเบฅเบฐ <*mut T>::wrapping_add
- <*const T>::wrapping_sub เปเบฅเบฐ <*mut T>::wrapping_sub
- <[T]>::as_mut_ptr
- <[T]>::as_ptr_range
- <[T]>::as_mut_ptr_range
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบฑเบเปเบเบเบเบปเบเบเบงเบฒเบก "Rrust: A Critical Retrospective" เปเบเบเบชเบฐเบซเบผเบธเบเบเบงเบฒเบกเบเบฐเบเบฑเบเปเบเบเบญเบเบเบฒเบชเบฒ Rust เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฝเบเบฅเบฐเบซเบฑเบ 100 เบเบฑเบเปเบชเบฑเปเบเปเบเบกเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ Xous microkernel เบเบตเปเปเบเปเปเบเปเบเบตเบกเปเบง. เบเปเปเปเบชเบเบฅเบงเบกเปเบเบดเบ syntax เบเบฒเบเบเบตเปเบเบฐเปเบเบปเปเบฒเปเบ, เบเบงเบฒเบกเบเปเปเบเบปเบเบเปเบงเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเบเบญเบเบเบฒเบชเบฒ, เบเบฒเบเบเบฒเบเบเบฒเบเบชเปเบฒเบเบเปเปเบฒเบเบฑเบ, เบเบฑเบเบซเบฒเบเบปเบเบเบฐเบเบดเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเปเบงเปเบงเบฒเบเปเบเปเบ Crates.io, เปเบฅเบฐเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบฎเบฑเบเบชเบฒเบฅเบฐเบเบฝเบเบงเบดเปเบเบเบตเปเปเบเปเบเบญเบเปเบเบทเปเบญเบเบฝเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบญเบเปเบ. เบเบธเบเบเบฐเบชเบปเบกเบเบฑเบเบเบตเปเปเบเบตเบเบเบงเบฒเบกเบเบฒเบเบซเบงเบฑเบเบเบฐเบเบญเบเบกเบตเปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบฒเบ refactoring เบฅเบฐเบซเบฑเบเปเบฅเบฐ reworking "hacks" เปเบเบตเปเบกเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบ prototyping เบขเปเบฒเบเปเบงเบงเบฒ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru