ะ’ั‹ะฟัƒัะบ Rust 1.96. ะžั†ะตะฝะบะฐ ะฟั€ะธะณะพะดะฝะพัั‚ะธ Rust ะดะปั ัะพะทะดะฐะฝะธั ะฟั€ะพัˆะธะฒะพะบ ะบ ะผะธะบั€ะพะบะพะฝั‚ั€ะพะปะปะตั€ะฐะผ

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

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

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

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • ะ”ะพะฑะฐะฒะปะตะฝ ะผะพะดัƒะปัŒ range ั ั€ะตะฐะปะธะทะฐั†ะธะตะน ะฝะพะฒั‹ั… ั‚ะธะฟะพะฒ, ั€ะฐะทะฒะธะฒะฐะตะผั‹ั… ะดะปั ะทะฐะผะตะฝั‹ ัƒัั‚ะฐั€ะตะฒัˆะธั… ั‚ะธะฟะพะฒ Range, RangeInclusive, RangeToInclusive ะธ RangeFrom, ะธ ะฟะพะทะฒะพะปััŽั‰ะธั… ั…ั€ะฐะฝะธั‚ัŒ ะดะธะฐะฟะฐะทะพะฝั‹ ะฒ Copy-ัั‚ั€ัƒะบั‚ัƒั€ะฐั…. ะขะธะฟ Range ะพะฟั€ะตะดะตะปัะตั‚ ะดะธะฐะฟะฐะทะพะฝั‹, ะพะณั€ะฐะฝะธั‡ะตะฝะฝั‹ะต ะผะธะฝะธะผะฐะปัŒะฝั‹ะผ ะธ ะผะฐะบัะธะผะฐะปัŒะฝั‹ะผ ะดะพะฟัƒัั‚ะธะผั‹ะผ ะทะฝะฐั‡ะตะฝะธะตะผ (ะฝะพ ะฝะต ะฒั…ะพะดัั‰ะธะผ ะฒ ะฝะตะณะพ), ั‚ะธะฟ RangeFrom ะพะฟั€ะตะดะตะปัะตั‚ ั‡ะธัะปะฐ ะฝะฐั‡ะธะฝะฐั ั ัƒะบะฐะทะฐะฝะฝะพะณะพ ะทะฝะฐั‡ะตะฝะธั, ะฐ ั‚ะธะฟ RangeInclusive โ€” ะทะฝะฐั‡ะตะฝะธั ัƒะบะฐะทะฐะฝะฝะพะณะพ ะดะธะฐะฟะฐะทะพะฝะฐ ั ะพะฑะตะธะผะธ ะตะณะพ ะณั€ะฐะฝะธั†ะฐะผะธ. ะ’ ะฑัƒะดัƒั‰ะธั… ะฒั‹ะฟัƒัะบะฐั… ะดะพะฟะพะปะฝะธั‚ะตะปัŒะฝะพ ะฟะพัะฒัั‚ัั ั‚ะธะฟั‹ RangeFull ะธ RangeTo, ัั‚ะฐั€ะฐั ั€ะตะฐะปะธะทะฐั†ะธั ะฑัƒะดะตั‚ ะฟะตั€ะตะฝะตัะตะฝะฐ ะฒ core::range::legacy::*, ะฐ ัะธะฝั‚ะฐะบัะธั ยซN..Mยป ะฟะตั€ะตะฒะตะดัƒั‚ ะฝะฐ ะฝะพะฒั‹ะน ะฒะฐั€ะธะฐะฝั‚ ั‚ะธะฟะพะฒ.

    ะะพะฒั‹ะต ั‚ะธะฟั‹ ะพั‚ะปะธั‡ะฐัŽั‚ัั ั‚ะตะผ, ั‡ั‚ะพ ะฒะผะตัั‚ะพ ั‚ะธะฟะฐะถะฐ Iterator ั€ะตะฐะปะธะทัƒัŽั‚ ั‚ะธะฟะฐะถ IntoIterator, ั‚.ะต. ะฒะผะตัั‚ะพ ะฒัั‚ั€ะพะตะฝะฝะพะณะพ ะธั‚ะตั€ะฐั‚ะพั€ะฐ ะพะฟั€ะตะดะตะปััŽั‚ ั‚ะพ, ะบะฐะบ ะฟั€ะตะพะฑั€ะฐะทะพะฒะฐั‚ัŒ ั‚ะธะฟ ะฒ ะธั‚ะตั€ะฐั‚ะพั€. ะŸะพะดะพะฑะฝั‹ะน ะฟะพะดั…ะพะด ะฟะพะทะฒะพะปัะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ั ะฝะพะฒั‹ะผะธ ั‚ะธะฟะฐะผะธ ะพะฟะตั€ะฐั†ะธัŽ ะบะพะฟะธั€ะพะฒะฐะฝะธั (ั‚ะธะฟะฐะถ Copy, ะฟะพะบะฐะทั‹ะฒะฐัŽั‰ะธะน, ั‡ั‚ะพ ะทะฝะฐั‡ะตะฝะธั ั‚ะธะฟะฐ ะผะพะถะฝะพ ะดัƒะฑะปะธั€ะพะฒะฐั‚ัŒ ั‡ะตั€ะตะท ะฟั€ะพัั‚ะพะต ะบะพะฟะธั€ะพะฒะฐะฝะธะต), ะบะพั‚ะพั€ะฐั ั€ะฐะฝะตะต ะฑั‹ะปะฐ ะฝะตะดะพัั‚ัƒะฟะฝะฐ ะธะท-ะทะฐ ะฝะตัะพะฒะผะตัั‚ะธะผะพัั‚ะธ ั ั‚ะธะฟะฐะผะธ ัะพ ะฒัั‚ั€ะพะตะฝะฝั‹ะผะธ ะธั‚ะตั€ะฐั‚ะพั€ะฐะผะธ.
    ะะฐะฟั€ะธะผะตั€, ะฝะพะฒั‹ะต ั‚ะธะฟั‹ ะดะฐัŽั‚ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัะพั…ั€ะฐะฝะธั‚ัŒ ะณั€ะฐะฝะธั†ั‹ ัั€ะตะทะฐ ะฒ ัั‚ั€ัƒะบั‚ัƒั€ัƒ, ะบะพั‚ะพั€ะฐั ะฟะพะปะฝะพัั‚ัŒัŽ ะบะพะฟะธั€ัƒะตั‚ัั ะฑะตะท ั€ะฐะทะดะตะปัŒะฝะพะณะพ ัะพั…ั€ะฐะฝะตะฝะธั ะฝะฐั‡ะฐะปัŒะฝะพะณะพ ะธ ะบะพะฝะตั‡ะฝะพะณะพ ะทะฝะฐั‡ะตะฝะธะน:

    use core::range::Range;

    #[derive(Clone, Copy)]
    pub struct Span(Range<usize>);

    impl Span {
    pub fn of(self, s: &str) -> &str {
    &s[self.0]
    }
    }

  • ะ”ะพะฑะฐะฒะปะตะฝั‹ ะผะฐะบั€ะพัั‹ ยซassert_matches!ยป ะธ ยซdebug_assert_matches!ยป, ะฟั€ะพะฒะตั€ััŽั‰ะธะต ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะต ะทะฝะฐั‡ะตะฝะธั ัƒะบะฐะทะฐะฝะฝะพะผัƒ ัˆะฐะฑะปะพะฝัƒ ะธ ะฐะฒะฐั€ะธะนะฝะพ ะทะฐะฒะตั€ัˆะฐัŽั‰ะธะต ะฒั‹ะฟะพะปะฝะตะฝะธะต ะฟั€ะธ ั€ะฐัั…ะพะถะดะตะฝะธะธ. ะžั‚ ะฒั‹ั€ะฐะถะตะฝะธะน ยซassert!(matches!(..))ยป ะธ ยซdebug_assert!(matches!(..))ยป ะฝะพะฒั‹ะต ะผะฐะบั€ะพัั‹ ะพั‚ะปะธั‡ะฐัŽั‚ัั ะฒั‹ะฒะพะดะพะผ ะพั‚ะปะฐะดะพั‡ะฝะพะน ะธะฝั„ะพั€ะผะฐั†ะธะธ ัะพ ะทะฝะฐั‡ะตะฝะธัะผะธ, ะฒั‹ะทะฒะฐะฒัˆะธะผะธ ัะฑะพะน. ะ”ะปั ะธะทะฑะตะถะฐะฝะธั ะฟะตั€ะตัะตั‡ะตะฝะธะน ัะพ ัั‚ะพั€ะพะฝะฝะธะผะธ ะผะฐะบั€ะพัะฐะผะธ, ะฟะพัั‚ะฐะฒะปัะตะผั‹ะผะธ ั ะฐะฝะฐะปะพะณะธั‡ะฝั‹ะผะธ ะธะผะตะฝะฐะผะธ, ะฝะพะฒั‹ะต ะผะฐะบั€ะพัั‹ ั‚ั€ะตะฑัƒัŽ ัะฒะฝะพะณะพ ะธะผะฟะพั€ั‚ะฐ ะฑะธะฑะปะธะพั‚ะตะบะธ ยซcore::assert_matchesยป.

    use core::assert_matches;

    fn get_random_number() -> u32 {
    4
    }

    fn เบซเบผเบฑเบ() {
    assert_matches!(get_random_number(), 1..=6);
    }

  • ะŸั€ะธ ัะฑะพั€ะบะต ะดะปั ั†ะตะปะตะฒะพะน ะฟะปะฐั‚ั„ะพั€ะผั‹ WebAssembly ะฟั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะตั€ะตะดะฐั‡ะฐ ะบะพะผะฟะพะฝะพะฒั‰ะธะบัƒ ะพะฟั†ะธะธ ยซโ€”allow-undefinedยป, ั€ะฐะทั€ะตัˆะฐะฒัˆะตะน ัะฒัะทั‹ะฒะฐะฝะธะต ะฟั€ะธ ะฝะฐะปะธั‡ะธะธ ะฝะตะพะฟั€ะตะดะตะปั‘ะฝะฝั‹ั… ัะธะผะฒะพะปะพะฒ, ะบะพั‚ะพั€ั‹ะต ะฟั€ะตะพะฑั€ะฐะทะพะฒั‹ะฒะฐะปะธััŒ ะฒ ะธะผะฟะพั€ั‚ ะธะท ะผะพะดัƒะปั ยซenvยป. ะŸั€ะธ ัะฑะพั€ะบะต ะดะปั WebAssembly ะฒัะต ัะฒัะทะฐะฝะฝั‹ะต ั ะบะพะผะฟะพะฝะพะฒะบะพะน ัะธะผะฒะพะปั‹ ั‚ะตะฟะตั€ัŒ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะพะฑัะทะฐั‚ะตะปัŒะฝะพ ะดะพะปะถะฝั‹ ะฑั‹ั‚ัŒ ะพะฟั€ะตะดะตะปะตะฝั‹. ะ”ะปั ะฒะพะทะฒั€ะฐั‰ะตะฝะธั ัั‚ะฐั€ะพะณะพ ะฟะพะฒะตะดะตะฝะธั ะผะพะถะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฟะตั€ะตะผะตะฝะฝัƒัŽ ะพะบั€ัƒะถะตะฝะธั ยซRUSTFLAGS=-Clink-arg=โ€”allow-undefinedยป ะธะปะธ ะฒั‹ั€ะฐะถะตะฝะธะต โ€˜#[link(wasm_import_module = ยซenvยป)]ยป ะฒ ะบะพะดะต.
  • เบžเบฒเบเบชเปˆเบงเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡ API เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เบขเบนเปˆเปƒเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เบฅเบงเบกเบ—เบฑเบ‡เบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฑเบเบชเบฐเบ™เบฐเบ•เปˆเบฒเบ‡เป†เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡:
    • assert_matches!
    • debug_assert_matches!
    • From<T> for AssertUnwindSafe<T>
    • From<T> for LazyCell<T, F>
    • From<T> for LazyLock<T, F>
    • core::range::RangeToInclusive
    • core::range::RangeToInclusiveIter
    • core::range::RangeFrom
    • core::range::RangeFromIter
    • core::range::Range
    • core::range::RangeIter
  • ะ’ ะฟะฐะบะตั‚ะฝะพะผ ะผะตะฝะตะดะถะตั€ะต Cargo ัƒัั‚ั€ะฐะฝะตะฝะฐ ัƒัะทะฒะธะผะพัั‚ัŒ CVE-2026-5223, ะบะพั‚ะพั€ะฐั ะผะพะถะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒัั ะดะปั ะฟะตั€ะตะทะฐะฟะธัะธ ะธัั…ะพะดะฝะพะณะพ ะบะพะดะฐ ะดั€ัƒะณะพะณะพ crate-ะฟะฐะบะตั‚ะฐ ะฒ ะปะพะบะฐะปัŒะฝะพะผ ะบััˆะต ะฟะฐะบะตั‚ะพะฒ ะธะท ั‚ะพะณะพ ะถะต ั€ะตะฟะพะทะธั‚ะพั€ะธั ั‡ะตั€ะตะท ะผะฐะฝะธะฟัƒะปัั†ะธะธ ั ัะธะผะฒะพะปะธั‡ะตัะบะธะผะธ ััั‹ะปะบะฐะผะธ ะฒะฝัƒั‚ั€ะธ crate-ะฐ ะฟะฐะบะตั‚ะพะฒ. ะฃัะทะฒะธะผะพัั‚ัŒ ะฟั€ะพัะฒะปัะตั‚ัั ั‚ะพะปัŒะบะพ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ัะพ ัั‚ะพั€ะพะฝะฝะธะผะธ ั€ะตะฟะพะทะธั‚ะพั€ะธัะผะธ ะฟะฐะบะตั‚ะพะฒ ะธ ะฝะต ะทะฐั‚ั€ะฐะณะธะฒะฐะตั‚ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน ั€ะตะฟะพะทะธั‚ะพั€ะธั crates.io, ั‚ะฐะบ ะบะฐะบ ะฒ crates.io ะทะฐะฟั€ะตั‰ะตะฝะฐ ะทะฐะณั€ัƒะทะบะฐ ะฟะฐะบะตั‚ะพะฒ ั ัะธะผะฒะพะปะธั‡ะตัะบะธะผะธ ััั‹ะปะบะฐะผะธ.

ะ”ะพะฟะพะปะฝะธั‚ะตะปัŒะฝะพ ะผะพะถะฝะพ ะพั‚ะผะตั‚ะธั‚ัŒ ะฟัƒะฑะปะธะบะฐั†ะธัŽ (PDF) ั€ะตะทัƒะปัŒั‚ะฐั‚ะพะฒ ะฐะฝะฐะปะธะทะฐ ะฟั€ะธะณะพะดะฝะพัั‚ะธ ัะทั‹ะบะฐ Rust ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ะบะธ ะฟั€ะพัˆะธะฒะพะบ ะดะปั ะผะธะบั€ะพะบะพะฝั‚ั€ะพะปะปะตั€ะพะฒ ะธ ะฒัั‚ั€ะฐะธะฒะฐะตะผั‹ั… ัะธัั‚ะตะผ ั ะพะณั€ะฐะฝะธั‡ะตะฝะฝั‹ะผะธ ั€ะตััƒั€ัะฐะผะธ.
ะ˜ััะปะตะดะพะฒะฐะฝะธะต ะฟั€ะพะฒะตะดะตะฝะพ ะบะพะผะฟะฐะฝะธะตะน STMicroelectronics ะฟั€ะธ ัƒั‡ะฐัั‚ะธะธ ะฝะตัะบะพะปัŒะบะธั… ะตะฒั€ะพะฟะตะนัะบะธั… ัƒะฝะธะฒะตั€ัะธั‚ะตั‚ะพะฒ. ะ”ะฒัƒะผ ะธะทะพะปะธั€ะพะฒะฐะฝะฝั‹ะผ ะบะพะผะฐะฝะดะฐะผ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ ะฑั‹ะปะฐ ะฟะพัั‚ะฐะฒะปะตะฝะฐ ะทะฐะดะฐั‡ะฐ ะฟะพ ั€ะตะฐะปะธะทะฐั†ะธะธ ะพะดะฝะพะน ะธ ั‚ะพะน ะถะต ะฟั€ะพัˆะธะฒะบะธ ะดะปั ะผะธะบั€ะพะบะพะฝั‚ั€ะพะปะปะตั€ะพะฒ STM32U585AI ั ัะดั€ะพะผ Arm Cortex-M33. ะŸะตั€ะฒะฐั ะบะพะผะฐะฝะดะฐ ัะพะทะดะฐะฒะฐะปะฐ ะฟั€ะพัˆะธะฒะบัƒ ะฝะฐ ะกะธ, ะฐ ะฒั‚ะพั€ะฐั ะฝะฐ Rust.

ะขะตัั‚ะธั€ะพะฒะฐะฝะธะต ะฒั‹ะฟะพะปะฝะตะฝะฝะพะน ั€ะฐะฑะพั‚ั‹ ะฝะต ะฒั‹ัะฒะธะปะพ ะทะฐะผะตั‚ะฝั‹ั… ะฟั€ะตะธะผัƒั‰ะตัั‚ะฒ ะฒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ ัะทั‹ะบะฐ ะกะธ ะฒะผะตัั‚ะพ Rust ะฟั€ะธ ั€ะฐะทั€ะฐะฑะพั‚ะบะต ะฟั€ะพัˆะธะฒะพะบ ะดะปั ะผะธะบั€ะพะบะพะฝั‚ั€ะพะปะปะตั€ะพะฒ ะฟั€ะธ ัั€ะฐะฒะฝะตะฝะธะธ ะฟะพั‚ั€ะตะฑะปะตะฝะธั ะฟะฐะผัั‚ะธ ะธ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ. ะ‘ะพะปะตะต ั‚ะพะณะพ, ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝะธะต ะฝะฐะฟะธัะฐะฝะฝะพะณะพ ะฝะฐ Rust ัะธัั‚ะตะผะฝะพะณะพ runtime ะพั‚ ะพั‚ะบั€ั‹ั‚ะพะณะพ ะฟั€ะพะตะบั‚ะฐ Ariel OS ะฟะพะทะฒะพะปะธะปะพ ะดะพะฑะธั‚ัŒัั ะฟะพั‚ั€ะตะฑะปะตะฝะธั ะฟะฐะผัั‚ะธ ะฒ ะฟั€ะพะตะบั‚ะต ะฝะฐ Rust ะฝะธะถะต, ั‡ะตะผ ะฒ ั€ะตะฐะปะธะทะฐั†ะธะธ ะฝะฐ ัะทั‹ะบะต ะกะธ, ะธัะฟะพะปัŒะทัƒัŽั‰ะตะน ั‚ั€ะฐะดะธั†ะธะพะฝะฝั‹ะน ัั‚ะตะบ ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ะบะธ ะฟั€ะพัˆะธะฒะพะบ ะฝะฐ ะฑะฐะทะต ะฑะธะฑะปะธะพั‚ะตะบะธ newlib.

ะ ะฐะทะผะตั€ ั€ะตะทัƒะปัŒั‚ะธั€ัƒัŽั‰ะตะน ะฟั€ะพัˆะธะฒะบะธ ัะพัั‚ะฐะฒะธะป 84100 ะฑะฐะนั‚ ะฒ ะฟั€ะพะตะบั‚ะต ะฝะฐ Rust ะธ 76744 ะฑะฐะนั‚ะฐ ะฒ ะฟั€ะพะตะบั‚ะต ะฝะฐ ะกะธ (ะฝะฐ 10% ะผะตะฝัŒัˆะต), ะฝะพ ะฟะพั‚ั€ะตะฑะปะตะฝะธะต ะพะฟะตั€ะฐั‚ะธะฒะฝะพะน ะฟะฐะผัั‚ะธ ะฒ ะฟั€ะพัˆะธะฒะบะต ะฝะฐ Rust ะพะบะฐะทะฐะปะพััŒ ะทะฝะฐั‡ะธั‚ะตะปัŒะฝะพ ะฝะธะถะต โ€” 24640 ะฑะฐะนั‚ะพะฒ ะฟั€ะพั‚ะธะฒ 42608 ะฑะฐะนั‚ะพะฒ. ะงั‚ะพ ะบะฐัะฐะตั‚ัั ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ, ั‚ะพ ะฟั€ะธ ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธะธ ะฝะฐั‡ะฐะปัŒะฝั‹ั… ะฟั€ะพั‚ะพั‚ะธะฟะพะฒ, ั€ะฐะทั€ะฐะฑะพั‚ะฐะฝะฝั‹ั… ะทะฐ 6 ะฝะตะดะตะปัŒ, ั€ะตะฐะปะธะทะฐั†ะธั ะฝะฐ Rust ะฒ ะดะฒะฐ ั€ะฐะทะฐ ะพะฟะตั€ะตะถะฐะปะฐ, ั€ะตะฐะปะธะทะฐั†ะธัŽ ะฝะฐ ะกะธ, ะฝะพ ะพะฑะต ั€ะตะฐะปะธะทะฐั†ะธะธ ะทะฝะฐั‡ะธั‚ะตะปัŒะฝะพ ะพั‚ัั‚ะฐะฒะฐะปะธ ะพั‚ ั€ะฐัั‡ั‘ั‚ะฝะพะน ะผะฐะบัะธะผะฐะปัŒะฝะพะน ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ. ะŸะพัะปะต 4 ะฝะตะดะตะปัŒ, ะฒั‹ะดะตะปะตะฝะฝั‹ั… ะฝะฐ ะพะฟั‚ะธะผะธะทะฐั†ะธัŽ, ะพะฑะต ั€ะตะฐะปะธะทะฐั†ะธะธ ะดะพัั‚ะธะณะปะธ ะฟั€ะธะผะตั€ะฝะพ ะพะดะธะฝะฐะบะพะฒะพะณะพ ั€ะตะทัƒะปัŒั‚ะฐั‚ะฐ, ะฑะปะธะทะบะพะณะพ ะบ ั€ะฐัั‡ั‘ั‚ะฝะพะผัƒ ะผะฐะบัะธะผัƒะผัƒ.



เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru
เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster