เบเปเบญเบ 1.47 เบเบญเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบฅเบฐเบเบปเบ Rust, เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเปเบเบเบเบฒเบ Mozilla, เปเบเปเบเบทเบเบเบฑเบเบเบตเบกเบกเบฒ. เบเบฒเบชเบฒเบชเบธเบกเปเบชเปเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบชเบฐเบซเบเบญเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เปเบฅเบฐเบชเบฐเบซเบเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบงเบฝเบเบเบฒเบเบเบฐเบซเบเบฒเบเบชเบนเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเบซเบผเบท runtime (runtime เบซเบผเบธเบเบฅเบปเบเปเบเบฑเบเบเบทเปเบเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเปเบฅเบฐเบเบฒเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ).
เบเบฒเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบ Rust เบเปเบฒเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเป manipulating pointers เปเบฅเบฐเบเปเบญเบเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเบซเบกเบนเบเปเบเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเบทเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบตเปเบกเบฑเบเปเบเปเบเบทเบเบเบปเบเบเปเบญเบ, null pointer dereferences, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช, เปเบเบเบเบฒเบเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบชเบดเบเบเปเบฒ. เบเบฑเบเปเบเบฑเบ crates.io เปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบเบปเปเบเบเป:
- เบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฅเบฑเบเบชเบฐเบเบฐเบชเปเบฒเบฅเบฑเบ array เบเบญเบเบเบฐเบซเบเบฒเบ arbitrary. เบเปเบญเบเบซเบเปเบฒเบเบตเป, เปเบเบทเปเบญเบเบเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบฑเบเบเบฑเบเบเบปเปเบงเปเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเปเบฒเบเบงเบเปเบเบฑเบกเบเบฑเบเบซเบกเบปเบ, เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบเปเบเปเบชเบฐเบซเบเบญเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบเบปเบงเบเบฝเบเปเบเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ arrays เบเบตเปเบกเบตเบเบฐเบซเบเบฒเบเปเบเบดเบ 32 เบญเบปเบเบเบฐเบเบญเบ (เบฅเบฑเบเบชเบฐเบเบฐเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฐเบซเบเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบชเบฐเบเบดเบเบด). เบเปเบเบญเบเปเบเบเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเบเปเบฒเบเบฒเบเบเบญเบ const generics, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบซเบเปเบฒเบเบตเปเบเบปเปเบงเปเบเบชเปเบฒเบฅเบฑเบเบเบฐเบซเบเบฒเบ array เปเบ, เปเบเปเบเบงเบเบกเบฑเบเบเบฑเบเบเปเปเปเบเปเบฅเบงเบกเบขเบนเปเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบซเบกเบฑเปเบเบเบปเบเบเบญเบเบเบฒเบชเบฒ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเบนเปเปเบ compiler เปเบฅเบฐเบเบฐเบเบธเบเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ. เบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบ array เบเบญเบเบเบฐเบซเบเบฒเบเปเบเบเปเปเบเบฒเบก.
เบเบปเบงเบขเปเบฒเบ, เปเบเบเบชเปเบฒเบเบเปเปเปเบเบเบตเปเปเบ Rust 1.47 เบเบฐเบเบดเบกเปเบเบทเปเบญเปเบเบเบญเบ array, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบซเบเปเบฒเบเบตเปเบกเบฑเบเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ:
fn เบซเบผเบฑเบ() {
เปเบซเป xs = [0; 34];
println!("{:?}", xs);
}
- เบชเบฐเบซเบเบญเบเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบฎเบญเบเบเบตเปเบชเบฑเปเบเบเบงเปเบฒ (backtrace), เบเบปเบเบเบฐเบฅเบดเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบชเบธเบเปเบชเบตเบ. เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเปเปเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบชเปเบงเบเปเบซเบเป, เปเบเปเปเบฎเบฑเบเปเบซเปเบเบปเบเบเบฐเบฅเบดเบเปเบฅเบฐเบฅเบปเบเบเบงเบเบเบงเบฒเบกเบชเบปเบเปเบเบเบฒเบเบชเบฒเปเบซเบเบเบปเปเบเบเปเบเบญเบเบเบฑเบเบซเบฒ, เปเบกเปเบเบเบทเบเบเบปเบเปเบงเบฑเปเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฒเบก. เปเบเบทเปเบญเบชเบปเปเบเบเบทเบเบเบฒเบเบเบดเบเบเบฒเบกเปเบเบฑเบก, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก "RUST_BACKTRACE=full". เบเบปเบงเบขเปเบฒเบ, เบชเปเบฒเบฅเบฑเบเบฅเบฐเบซเบฑเบ
fn เบซเบผเบฑเบ() {
เบเบงเบฒเบกโเบเบทเปโเบโเบเบปเบโเปเบ!();
}
เบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเบฒเบเบเบดเบเบเบฒเบกเปเบกเปเบเบเบปเบเบเบฐเบฅเบดเบเปเบ 23 เบเบฑเปเบเบเบญเบ, เปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเบเบฐเบเบทเบเบซเบผเบธเบเบฅเบปเบเปเบเบฑเบ 3 เบเบฑเปเบเบเบญเบ, เบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฑเบเบเบต:
เบเบฐเบเบนเป 'เบซเบผเบฑเบ' เบเบปเบเปเบเบขเบนเป 'เบเบงเบฒเบกเบเบทเปเบเบเบปเบเปเบเบขเปเบฒเบเบเบฐเปเบเปเบ', src/main.rs:2:5
stack backtrace:
0: std::panicking::begin_panic
เบเบตเป /rustc/dโฆd75a/library/std/src/panicking.rs:497
1: เบชเบฐเบซเบเบฒเบกเปเบเบฑเบเบซเบผเบดเปเบ:: เบเบปเปเบเบเป
เบเบตเป ./src/main.rs:2
2: เบซเบผเบฑเบ::ops::function::FnOnce::call_once
เบเบตเป /rustc/dโฆd75a/library/core/src/ops/function.rs:227
- rustc compiler เปเบเปเบเบทเบเบเบฑเบเบเบธเบเปเบเบทเปเบญเบชเปเบฒเบเปเบเบเปเบเป LLVM 11 (Rust เปเบเป LLVM เปเบเบฑเบ backend เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบ). เปเบเบเบฐเบเบฐเบเบฝเบงเบเบฑเบ, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบชเปเบฒเบเบเปเบงเบ LLVM เปเบเบปเปเบฒ, เปเบเบดเบเบฎเบธเปเบ 8, เปเบเปเบเบทเบเบฎเบฑเบเบชเบฒเปเบงเป, เปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ (เปเบ rust-lang/llvm-project) LLVM 11 เบเบทเบเบเปเบฒเปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบ. เบเบฒเบเบเปเบญเบ LLVM 11 เบเบฒเบเบงเปเบฒเบเบฐเบขเบนเปเปเบเบเบตเปเบเบฐเบกเบฒเปเบเบดเบ. เบกเบทเป.
- เปเบเปเบเบฅเบฐเบเบฐเบเบญเบก Windows, rustc compiler เบชเบฐเบซเบเบญเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบชเบปเบกเบเบนเบเบเบญเบเบเบฒเบเบเบงเบเบเบธเบก (Control Flow Guard), เปเบเบตเบเปเบเปเปเบเบเปเบเปเบเบธเบ "-C control-flow-guard". เปเบเปเบงเบเบตเบญเบทเปเบเป, เบเบธเบเบเบตเปเบเบทเบเบฅเบฐเปเบฅเบตเบเปเบเบเบญเบเบเบตเป.
- เบชเปเบงเบเปเปเปเบเบญเบ API เปเบเปเบเบทเบเปเบญเบเปเบเปเบชเปเปเบงเบเปเบนเปเบเบตเปเปเบฑเปเบเบเบปเบ, เบฅเบงเบกเบเบฑเบ Ident เบเบปเบเบเบตเป::new_raw, Range::is_empty, RangeInclusive::is_empty, Result::as_deref, Result::as_deref_mut, Vec::leak, pointer::offset_from , f32:: TAU เปเบฅเบฐ f64::TAU.
- เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ "const", เปเบเบดเปเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบกเบฑเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเปเปเบเบฒเบกเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป, เปเบกเปเบเปเบเปเปเบเบงเบดเบเบตเบเบฒเบ:
- เปเปเปเบชเบณเบฅเบฑเบเบเบณเบเบงเบเปเบเบฑเบกเบเบฑเบเปเบปเบเบเบตเปเบเปเปเปเบกเปเบเบชเบนเบ;
- checked_add, checked_sub, checked_mul, checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub เปเบฅเบฐ saturating_mul เบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเปเบเบฑเบกเบเบฑเบเบซเบกเบปเบ;
- is_ascii_alphabetic, is_ascii_เบเบปเบงเบเบดเบกเปเบซเบเป, is_ascii_เบเบปเบงเบเบดเบกเบเปเบญเบ, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace_c u เปเบฅเบฐ 8ascii.
- เบชเปเบฒเบฅเบฑเบ FreeBSD, เบเบธเบเปเบเบทเปเบญเบเบกเบทเบเบฒเบ FreeBSD 11.4 เบเบทเบเบเปเบฒเปเบเป (FreeBSD 10 เบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ LLVM 11).
เปเบญเบปเบฒเบกเบฒเบเบฒเบ opennet.ru
เปเบซเบผเปเบเบเปเปเบกเบนเบ: linux.org.ru