เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™เบ›เปˆเบญเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบฅเบฐเบšเบปเบš เป€เบŠเบทเบญเบ 1.44, เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเป‚เบ„เบ‡เบเบฒเบ™ Mozilla. เบžเบฒเบชเบฒเบชเบธเบกเปƒเบชเปˆเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบฅเบธเบ„เบงเบฒเบกเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบ‚เบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เบชเบนเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเปเบฅเบฐ. runtime.

เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡ Rust เบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ manipulating pointers เปเบฅเบฐเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป€เบเบตเบ”เบˆเบฒเบเบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบฒเบเบžเบทเป‰เบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ, null pointer dereferences, buffer overruns, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ”เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบžเบทเปˆเบญเปเบˆเบเบขเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”, เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเป‚เบ”เบเป‚เบ„เบ‡เบเบฒเบ™. เบชเบดเบ™เบ„เป‰เบฒ, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เบซเบ™เบถเปˆเบ‡เบ„เบฅเบดเบ. เบซเปเบชเบฐเปเบธเบ”เป„เบ”เป‰เบ–เบทเบเบฎเบญเบ‡เบฎเบฑเบšเป€เบžเบทเปˆเบญเป‚เบฎเบ”เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” crates.io.

เปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Rust เป„เบ”เป‰เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบเบฒเบ™เป€เบกเบทเบญเบ‡เปเบฅเบฐเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ Rust 1.44 เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฑเบเบ„เบตเบเบฑเบšเบœเบนเป‰เบ›เบฐเบ—เป‰เบงเบ‡เบ•เปเปˆเบ•เป‰เบฒเบ™เบ„เบงเบฒเบกเบฎเบธเบ™เปเบฎเบ‡เบ‚เบญเบ‡เบ•เปเบฒเบซเบผเบงเบ”, เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบเบงเปˆเบฒ. เบเปˆเบงเบฒเบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™. เบžเบทเป‰เบ™เบ–เบฒเบ™ เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒ:

  • เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เปเบžเบเป€เบเบ” Cargo เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "cargo tree", เป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ•เบปเป‰เบ™เป„เบกเป‰. เบเบฑเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ โ€œโ€”duplicatesโ€ (โ€œcargo tree -dโ€), เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเปƒเบ™เบชเบฐเบšเบฑเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบŠเบธเบ”เบ”เบฝเบงเบเบฑเบ™.

    mdbook v0.3.2 (/Users/src/rust/mdbook)
    โ”œโ”€โ”€เปเบญเบกเป‚เบกเป€เบ™เบ v3.0.0
    โ”‚ โ”œโ”€โ”€ html5ever v0.24.0
    โ”‚ โ”‚ โ”œโ”€โ”€ เบšเบฑเบ™เบ—เบถเบ v0.4.8
    โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ cfg-if v0.1.9
    โ”‚ โ”‚ โ”œโ”€โ”€ mac v0.1.1
    โ”‚ โ”‚ โ””โ”€โ”€ markup5ever v0.9.0
    โ”‚ โ”‚ โ”œโ”€โ”€ เบšเบฑเบ™เบ—เบถเบ v0.4.8 (*)
    โ”‚ โ”‚ โ”œโ”€โ”€ phf v0.7.24 เบ„.เบช
    โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ phf_shared v0.7.24
    โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ siphasher v0.2.3
    โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ unicase v1.4.2
    โ”‚ โ”‚ โ”‚ [เบชเป‰เบฒเบ‡-เบ‚เบถเป‰เบ™เบเบฑเบš] โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ version_check v0.1.5
    ...

  • เบชเปเบฒเบฅเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบœเบนเบเบกเบฑเบ”เบเบฑเบš std ("#![no_std]"), เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบ•เบฑเบเบ™เบดเบเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก asynchronous เปเบกเปˆเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŸเบฑเบ‡เบŠเบฑเบ™ "async", เบเบฒเบ™เบเป‰เบฒเบ async { ... } block เปเบฅเบฐ ".ait" operator, เป€เบŠเบดเปˆเบ‡ เบ‡เปˆเบฒเบเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป„เบซเบผเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เบปเป‰เบ™เบ•เป.
  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบฅเปเบฒเบ”เบฑเบšเบŠเบฑเป‰เบ™เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ•เบปเบงเบงเบดเป€เบ„เบฒเบฐ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเบšเปเปˆเบชเป‰เบฒเบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฐเบšเปเปˆเบกเบตเป‚เบกเบ”เบนเบ™ "foo/bar/baz.rs" เบ•เบปเบงเบˆเบดเบ‡ (เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบเบฑเบ‡เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เปเบฅเบฐเบงเบดเป€เบ„เบฒเบฐเบขเบนเปˆเบ—เบตเปˆ. เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบกเบฐเบซเบฒเบžเบฒเบ เปเบฅเบฐเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚):

    #[cfg(FALSE)] mod foo {
    เปเบ–เบš mod {
    mod baz;
    }
    }

  • rustc compiler เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เบ—เบธเบ‡ โ€œ-C codegen-unitsโ€ เปƒเบ™เป‚เบซเบกเบ”เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” catch_unwind เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ–เป‰เบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ unwinding เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบเบปเบเป€เบงเบฑเป‰เบ™.
  • เบฅเบฐเบ”เบฑเบš 64 เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos เปเบฅเบฐ x64_XNUMX-apple-tvos. เบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™, เปเบ•เปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบžเบดเบกเป€เบœเบตเบเปเบœเปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™.
  • เบชเปˆเบงเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡ APIs เป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™เป„เบ›เบซเบฒเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เบฅเบงเบกเบ—เบฑเบ‡เบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡
    PathBuf:: with_capacity,
    PathBuf::เบ„เบงเบฒเบกเบญเบฒเบ”เบชเบฒเบกเบฒเบ”,
    PathBuf::เบˆเบฐเปเบˆเป‰เบ‡,
    PathBuf::เบชเบฐเบซเบ‡เบงเบ™,
    PathBuf::reserve_exact,
    PathBuf::shrink_to_fit,
    {f32|f64}::to_int_unchecked,
    เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡::align_to,
    เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡::pad_to_align,
    Layout::array เปเบฅเบฐ
    เปเบœเบ™เบœเบฑเบ‡:: เบ‚เบฐเบซเบเบฒเบ.

  • เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™:
    • เป€เบžเบตเปˆเบกเบ•เบปเบงเปเบ› "vec![]" เบžเบดเป€เบชเบ”เบ—เบตเปˆเบชเบฐเบ—เป‰เบญเบ™เป‚เบ”เบเบเบปเบ‡เปƒเบ™ Vec::new(), เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปƒเบŠเป‰ "vec![]" เปƒเบ™เบšเปเบฅเบดเบšเบปเบ”เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ.
    • เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” (impl) เบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เปเบ›เบ‡::Infallible Hash.
    • OsString เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบŠเบตเป‰เบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ DerefMut ะธ IndexMut, เบเบฑเบšเบ„เบทเบ™ "&mut OsStr".
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Unicode 13.
    • เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ String เบˆเบฒเบ .
    • IoSlice เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฑเบเบชเบฐเบ™เบฐ เบชเปเบฒเป€เบ™เบปเบฒ.
    • Vec เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฒเบ.
    • proc_macro::LexError เบ›เบฐเบ•เบดเบšเบฑเบ” fmt::เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™ เปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”.
  • เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ "const", เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ, เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบˆเบฒเบเบˆเบฒเบ_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes เปเบฅเบฐ to_ne_bytes method for all integer method.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆเปƒเบ™เบฎเบนเบšเปเบšเบš ".a" เปเบ—เบ™ ".lib" เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก GNU เปƒเบ™ Windows.
  • เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฑเป‰เบ™เบ•เปˆเปเบฒเบชเปเบฒเบฅเบฑเบš LLVM เป„เบ”เป‰เบ–เบทเบเบเบปเบเบ‚เบถเป‰เบ™เบกเบฒเป€เบ›เบฑเบ™ LLVM เบฎเบธเปˆเบ™ 8.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™