เบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบตเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเบเบปเปเบงเปเบ Rust 1.77, เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเปเบเบเบเบฒเบ Mozilla เปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเปเบเปเบเบฒเบเบญเบธเบเบฐเบเปเบฒเบเบญเบเบญเบปเบเบเบฒเบเปเบญเบเบฐเบฅเบฒเบเบเบตเปเบเปเปเบซเบงเบฑเบเบเบปเบเบเปเบฒเปเบฅ Rust Foundation, เปเบเปเบเบทเบเบเปเบญเบเบญเบญเบเบกเบฒ. เบเบฒเบชเบฒเบเบตเปเปเบเบฑเปเบเปเบชเปเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเปเบฅเบฐเบชเบฐเบซเบเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบเบงเบฒเบกเบเบฐเบซเบเบฒเบเบเบญเบเบงเบฝเบเบชเบนเบเปเบเบเบฐเบเบฐเบเบตเปเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเปเบฅเบฐเปเบงเบฅเบฒเปเบฅเปเบ (runtime เบซเบผเบธเบเบฅเบปเบเปเบเบฑเบเบเบทเปเบเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเปเบฅเบฐเบเบฒเบเบฎเบฑเบเบชเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ).
เบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบ Rust เบเปเบงเบเบเบฐเบขเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเป manipulating pointers เปเบฅเบฐเบเปเบญเบเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบทเปเบเบเบตเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบตเปเบกเบฑเบเปเบเปเบเบทเบเบเบปเบเบเปเบญเบ, dereferencing null pointers, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช, เปเบเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบชเบดเบเบเปเบฒ. เบเบฑเบเปเบเบฑเบ crates.io เปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ.
เบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเปเบขเบนเปเปเบ Rust เปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบกเปเบเบเบเปเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ, เบเบฒเบเบเบดเบเบเบฒเบกเบเบงเบฒเบกเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบงเบฑเบเบเบธ, เบเบฒเบเบเบดเบเบเบฒเบกเบญเบฒเบเบธเบเบญเบเบงเบฑเบเบเบธ (เบเบญเบเปเบเบ), เปเบฅเบฐเบเบฒเบเบเบฐเปเบกเบตเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ. Rust เบเบฑเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบ overflows integer, เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบเบฑเบเบเบญเบเบเปเบฒเบเบปเบงเปเบเบเปเบญเบเบเบฒเบเบเปเบฒเปเบเป, เบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบตเบเบงเปเบฒเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ, เบเปเบฒเปเบเปเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ immutable เปเบฅเบฐเบเบปเบงเปเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเบดเบกเบเบปเบเบเบตเปเบเบตเปเปเบเบฑเปเบกเปเบเบเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบเบปเปเบเบเป:
- เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบปเบงเบซเบเบฑเบเบชเบทเบชเปเบฒเบฅเบฑเบ C-strings (c"text"), เปเบเบดเปเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเบกเบตเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบกเบตเบเบฐเปเบซเบเบเปเบฅเบฐเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฐเปเบเบ "CStr". เบเบฒเบเบงเปเบฒเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ C-string เบเบฐเบเปเบฒเบเบเบฒเบเบเบฝเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบปเบงเบเบฑเบเบเบฑเบเบเบฑเปเบเปเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบตเปเปเบเป strings null-terminated, เปเบฅเบฐเบเบฐเบเปเบงเบเปเบซเปเบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบฅเบงเบเบฅเบงเบก. const HELLO: &core::ffi::CStr = c"เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!";
- เปเบเบซเบเปเบฒเบเบตเปเบเบฐเบเบดเบเบฑเบ asynchronously เบเบฐเบเบฒเบเปเบเบเปเบเป "async fn", เบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเป recursion, i.e. เบซเบเปเบฒเบเบตเปเบเบฑเปเบเบเปเบฒเบงเปเบเบเบฑเบเบเบธเบเบฑเบเบชเบฒเบกเบฒเบเปเบเบซเบฒเบเบปเบเปเบญเบ. async fn fib(n: u32) -> u32 { match n { 0 | 1 => 1, _ => เบเปเบญเบ::pin(fib(n-1)).เบฅเปเบเปเบฒ + เบเปเบญเบ::pin(fib(n-2)).เบฅเปเบเปเบฒ } }
- เบกเบฐเบซเบฒเบเบฒเบ offset_of! เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบกเบฐเบซเบฒเบเบฒเบเบชเบฒเบกเบฒเบเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเปเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบปเบเปเบเบตเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเปเบกเบตเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฐเปเบเบ. เปเบเบเบชเบฐเปเบเบฒเบฐ, offset_of functionality เปเบกเปเบเบเปเบฒเปเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบญเบปเบเบเบฐเบเบญเบเบฅเบฐเบเบฑเบเบเปเปเบฒเปเบเบฑเปเบเปเบเปเบงเบต. เปเบเป std::mem; #[repr(C)] struct FieldStruct { first: u8, second: u16, third: u8 } assert_eq!(mem::offset_of!(FieldStruct, first), 0); assert_eq!(mem::offset_of!(FieldStruct, เบชเบญเบ), 2); assert_eq!(mem::offset_of!(FieldStruct, เบเบตเบชเบฒเบก), 4);
- เปเบเบเบปเบงเบเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบฑเบ Cargo, เปเบเบเบฒเบเบเปเบญเบเปเบเปเบ, เบเบฒเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบเปเบเบฅเปเบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบตเบเบฑเบเบเบฐเบเบทเบเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ (strip = โdebuginfoโ), เปเบงเบฑเปเบเปเบชเบเปเบเปเบงเปเบฒเบฎเบนเบเปเบเบเบเบฒเบเบเบตเบเบฑเบเบเบฐเบเบทเบเปเบเบตเบเปเบเปเบขเปเบฒเบเบเบฐเปเบเปเบเปเบเปเบเบฃเปเบเบฅเปเบชเบดเบเบเปเบฒ, i.e. เบเปเบฒ parameter debug = 0.
- เบเบฒเบเปเบฅเบทเบญเบ "-Zthir-unsafeck=on" เบเบทเบเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเบเปเปเบเบญเบเปเบเบชเปเบฒเบฅเบฑเบ THIR (เบเบฐเปเบเบเบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเบฅเบฐเบเบฑเบเบชเบนเบ).
- เปเบเบตเปเบกเบเบฒเบเบเบงเบเบชเบญเบ lint เบชเปเบฒเบฅเบฑเบ static_mut_refs เปเบเบทเปเบญเบชเบฐเปเบเบเบเปเบฒเปเบเบทเบญเบเปเบกเบทเปเบญเบเปเบฒเปเบเปเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเปเบฒเบชเบฐเบเบดเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเป.
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบฐเปเบเบ "From<&[T;" เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ. N]>" เบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบ "เบเบปเบง<[T]>". fn foo(เบเปเปเบกเบนเบ: impl Into >) { /* โฆ */ } fn main() { foo(&[โเบชเบฐเบเบฒเบเบเบตโ, โเปเบฅเบโ]); }
- compiler เบชเบฐเบซเบเบญเบเบเบฒเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเบฐเปเบเบ 16-byte i128 เปเบฅเบฐ u128 เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบ x86.
- เบเบฒเบเบชเปเบงเบเปเบซเบกเปเบเบญเบ API เปเบเปเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบเบเบฐเปเบเบเบเบญเบเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ, เบฅเบงเบกเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบ:
- array::each_ref
- array::each_mut
- เบซเบผเบฑเบ::เบชเบธเบเบเบด
- f32::round_ties_even
- f64::round_ties_even
- me::offset_of!
- slice::first_chunk
- slice::first_chunk_mut
- slice::split_first_chunk
- slice::split_first_chunk_mut
- slice::last_chunk
- slice::last_chunk_mut
- slice::split_last_chunk
- slice::split_last_chunk_mut
- slice::chunk_by
- slice::chunk_by_mut
- เบเบนเบเบกเบฑเบ:: เปเบเบเบเบตเป
- เปเบเบฅเป::create_new
- Mutex::clear_poison
- RwLock::clear_poison
- เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฅเบฐเบเบฑเบเบเบตเบชเบฒเบกเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบฅเบฑเบเปเบงเบเบต aarch64-unknown-illumos, hexagon-unknown-none-elf, riscv32imafc-esp-espidf เปเบฅเบฐ riscv32im-risc0-zkvm-elf. เบฅเบฐเบเบฑเบเบเบตเบชเบฒเบกเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบทเปเบเบเบฒเบ, เปเบเปเบเปเปเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฒเบเปเบเบตเบเปเบเปเบเบฒเบเบเปเปเบชเปเบฒเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ, เบซเบผเบทเบเบงเบเปเบเบดเปเบเบงเปเบฒเบฅเบฐเบซเบฑเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเปเบเป.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru
