เชฐเชธเซเชŸ 1.47 เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฐเชฟเชฒเซ€เช

เชฎเซ‹เชเชฟเชฒเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฆเซเชตเชพเชฐเชพ เชธเซเชฅเชพเชชเชฟเชค, เชฐเชธเซเชŸ เชธเชฟเชธเซเชŸเชฎ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเชจเซเช‚ 1.47 เชชเซเชฐเช•เชพเชถเชจ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชญเชพเชทเชพ เชฎเซ‡เชฎเชฐเซ€ เชธเชฒเชพเชฎเชคเซ€ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชธเซเชตเชšเชพเชฒเชฟเชค เชฎเซ‡เชฎเชฐเซ€ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชŸเชฐ เช…เชฅเชตเชพ เชฐเชจเชŸเชพเชˆเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช‰เชšเซเชš เช•เชพเชฐเซเชฏ เชธเชฎเชพเชจเชคเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเชพ เชฎเชพเชงเซเชฏเชฎเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡ (เชฐเชจเชŸเชพเช‡เชฎ เชฎเซ‚เชณเชญเซ‚เชค เชชเซเชฐเชพเชฐเช‚เชญ เช…เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ€ เชœเชพเชณเชตเชฃเซ€ เชฎเชพเชŸเซ‡ เช˜เชŸเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡).

เชฐเชธเซเชŸเชจเซเช‚ เช“เชŸเซ‹เชฎเซ‡เชŸเชฟเช• เชฎเซ‡เชฎเชฐเซ€ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชชเซ‹เชˆเชจเซเชŸเชฐเซเชธเชจเซ€ เชนเซ‡เชฐเชซเซ‡เชฐ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชญเซ‚เชฒเซ‹เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฒเซ‹-เชฒเซ‡เชตเชฒ เชฎเซ‡เชฎเชฐเซ€ เชฎเซ‡เชจเซ€เชชเซเชฏเซเชฒเซ‡เชถเชจเชฅเซ€ เชŠเชญเซ€ เชฅเชคเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฐเชฟเชœเชจเชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเซเช‚, เชจเชฒ เชชเซ‹เชˆเชจเซเชŸเชฐ เชกเชฟเชฐเซ‡เชซเชฐเชจเซเชธ, เชฌเชซเชฐ เช“เชตเชฐเชฐเชจเซเชธ เชตเช—เซ‡เชฐเซ‡. เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเชตเชพ, เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เช…เชจเซ‡ เชจเชฟเชฐเซเชญเชฐเชคเชพเช“เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เชพเชฐเซเช—เซ‹ เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เชตเชฟเช•เชธเชพเชตเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡. crates.io เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐเชญเซ‚เชค เช›เซ‡.

เชฎเซเช–เซเชฏ เชจเชตเซ€เชจเชคเชพเช“:

  • เชฎเชจเชธเซเชตเซ€ เช•เชฆเชจเชพ เชเชฐเซ‡ เชฎเชพเชŸเซ‡ เชฒเช•เซเชทเชฃเซ‹ เชฎเชพเชŸเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชพเชฏเซ‡เชฒ เชธเชฎเชฐเซเชฅเชจ. เช…เช—เชพเช‰, เชคเชฎเชพเชฎ เชชเซ‚เชฐเซเชฃเชพเช‚เช• เชฎเซ‚เชฒเซเชฏเซ‹ เชฎเชพเชŸเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชธเชฎเชฐเซเชฅเชคเชพเชจเซ‡ เชฒเซ€เชงเซ‡, เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฎเชพเชคเซเชฐ 32 เช•เชฆเชจเชพ เช˜เชŸเช•เซ‹ เชธเซเชงเซ€เชจเชพ เชเชฐเซ‡ เชฎเชพเชŸเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชฒเช•เซเชทเชฃ เชธเชชเซ‹เชฐเซเชŸ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชคเซ€ เชนเชคเซ€ (เชฆเชฐเซ‡เช• เช•เชฆ เชฎเชพเชŸเซ‡เชจเชพ เชฒเช•เซเชทเชฃเซ‹ เชธเซเชฅเชฟเชฐ เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ). เช•เซ‹เชจเซเชธเซเชŸ เชœเซ‡เชจเชฐเชฟเช• เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชฌเชจเชพเชตเชตเชพ เชฌเชฆเชฒ เช†เชญเชพเชฐ, เช•เซ‹เชˆเชชเชฃ เชเชฐเซ‡ เช•เชฆ เชฎเชพเชŸเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เช“ เชนเชœเซ เชธเซเชงเซ€ เชญเชพเชทเชพเชจเชพ เชธเซเชฅเชฟเชฐ เชฒเช•เซเชทเชฃเซ‹เชฎเชพเช‚ เชธเชฎเชพเชตเชฟเชทเซเชŸ เชจเชฅเซ€, เชœเซ‹ เช•เซ‡ เชคเซ‡เช“ เช•เชฎเซเชชเชพเชˆเชฒเชฐเชฎเชพเช‚ เช…เชฎเชฒเชฎเชพเช‚ เช›เซ‡ เช…เชจเซ‡ เชนเชตเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชชเซเชธเซเชคเช•เชพเชฒเชฏเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡. เช•เซ‹เชˆเชชเชฃ เช•เชฆเชจเชพ เชเชฐเซ‡ เชชเซเชฐเช•เชพเชฐเซ‹ เชฎเชพเชŸเซ‡.
    เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฐเชธเซเชŸ 1.47 เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชฐเชšเชจเชพ เชเชฐเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เช›เชพเชชเชถเซ‡, เชœเซ‹ เช•เซ‡ เช…เช—เชพเช‰ เชคเซ‡ เชญเซ‚เชฒเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซเชฏเซเช‚ เชนเซ‹เชค:

fn main() {
เชšเชพเชฒเซ‹ xs = [0; 34];
println!("{:?}", xs);
}

  • เช•เชŸเซ‹เช•เชŸเซ€เชจเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ เชŸเซ‚เช‚เช•เชพ เชŸเซเชฐเซ‡เชธ (เชฌเซ‡เช•เชŸเซเชฐเซ‡เชธ) เชจเซเช‚ เช†เช‰เชŸเชชเซเชŸ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช˜เชŸเช•เซ‹ เช•เซ‡ เชœเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ เชฐเชธ เชงเชฐเชพเชตเชคเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เช…เชตเซเชฏเชตเชธเซเชฅเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพเชจเชพ เชชเซเชฐเชพเชฅเชฎเชฟเช• เช•เชพเชฐเชฃเซ‹เชฅเซ€ เชงเซเชฏเชพเชจ เชตเชฟเชšเชฒเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡ เชŸเซเชฐเซ‡เชธเชฎเชพเช‚เชฅเซ€ เชฌเชพเช•เชพเชค เช›เซ‡. เชธเช‚เชชเซ‚เชฐเซเชฃ เชŸเซเชฐเซ‡เชธ เชชเชฐเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒ "RUST_BACKTRACE=full" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซ‹เชก เชฎเชพเชŸเซ‡

fn main() {
เช—เชญเชฐเชพเชŸ!();
}

เช…เช—เชพเช‰, เชŸเซเชฐเซ‡เชธ 23 เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชนเชตเซ‡ เชคเซ‡ เช˜เชŸเชพเชกเซ€เชจเซ‡ 3 เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เชคเชฐเชค เชœ เชธเชพเชฐเชจเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡:

เชฅเซเชฐเซ‡เชก 'เชฎเซเช–เซเชฏ' 'เชธเซเชชเชทเซเชŸ เช—เชญเชฐเชพเชŸ' เชชเชฐ เช—เชญเชฐเชพเชˆ เช—เชฏเซ‹, src/main.rs:2:5
เชธเซเชŸเซ‡เช• เชฌเซ‡เช•เชŸเซเชฐเซ‡เชธ:
0: std::เช—เชญเชฐเชพเชตเซเช‚::begin_panic
/rustc/dโ€ฆd75a/library/std/src/panicking.rs:497 เชชเชฐ
1: เชฐเชฎเชคเชจเซเช‚ เชฎเซ‡เชฆเชพเชจ::เชฎเซเช–เซเชฏ
./src/main.rs:2 เชชเชฐ
2: core::ops::function::FnOnce::call_once
/rustc/dโ€ฆd75a/library/core/src/ops/function.rs:227 เชชเชฐ

  • LLVM 11 (Rust เช•เซ‹เชก เชœเชจเชฐเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชก เชคเชฐเซ€เช•เซ‡ LLVM เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฌเชฟเชฒเซเชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ rustc เช•เชฎเซเชชเชพเชˆเชฒเชฐ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เชธเช‚เชธเซเช•เชฐเชฃ 8 เชธเซเชงเซ€, เชœเซ‚เชจเชพ LLVM เชธเชพเชฅเซ‡ เชฌเชฟเชฒเซเชก เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชœเชพเชณเชตเซ€ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ (rust-lang/llvm-projectเชฎเชพเช‚) LLVM 11 เชนเชตเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡. เช†เช—เชพเชฎเซ€ เชธเชฎเชฏเชฎเชพเช‚ LLVM 11 เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เช…เชชเซ‡เช•เซเชทเชฟเชค เช›เซ‡. เชฆเชฟเชตเชธ.
  • เชตเชฟเชจเซเชกเซ‹เช เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ, rustc เช•เชฎเซเชชเชพเชˆเชฒเชฐ "-C เชจเชฟเชฏเช‚เชคเซเชฐเชฃ-เชซเซเชฒเซ‹-เช—เชพเชฐเซเชก" เชซเซเชฒเซ‡เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฅเชฏเซ‡เชฒ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชซเซเชฒเซ‹ เช‡เชจเซเชŸเชฟเช—เซเชฐเชฟเชŸเซ€ เชšเซ‡เช•เซเชธ (เช•เช‚เชŸเซเชฐเซ‹เชฒ เชซเซเชฒเซ‹ เช—เชพเชฐเซเชก)เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชชเซ‚เชฐเซ‹ เชชเชพเชกเซ‡ เช›เซ‡. เช…เชจเซเชฏ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เช† เชงเซเชตเชœเชจเซ‡ เช…เชคเซเชฏเชพเชฐเซ‡ เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.
  • API เชจเซ‹ เชจเชตเซ‹ เชญเชพเช— เชธเซเชฅเชฟเชฐ เช•เซ‡เชŸเซ‡เช—เชฐเซ€เชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชธเซเชฅเชฟเชฐ เช“เชณเช–::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_uppercase, is_ascii_lowercase, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace เช…เชจเซ‡ charascii_cont_8 เชฎเชพเชŸเซ‡ เช›เซ‡.
  • เชซเซเชฐเซ€เชฌเซ€เชเชธเชกเซ€ เชฎเชพเชŸเซ‡, เชซเซเชฐเซ€เชฌเซ€เชเชธเชกเซ€ 11.4เชฎเชพเช‚เชฅเซ€ เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡ (เชซเซเชฐเซ€เชฌเซ€เชเชธเชกเซ€ 10 เชเชฒเชเชฒเชตเซ€เชเชฎ 11เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชคเซเช‚ เชจเชฅเซ€).

เชฎเชพเช‚เชฅเซ€ เชฒเซ€เชงเซ‡เชฒเซเช‚ opennet.ru

เชธเซ‹เชฐเซเชธ: linux.org.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹