Выпуск Rust 1.96. ΠžΡ†Π΅Π½ΠΊΠ° пригодности Rust для создания ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ

Yaren shirye-shirye na Rust 1.96, wanda aikin Mozilla ya kafa amma yanzu an haΙ“aka shi a Ζ™arΖ™ashin inuwar Rust Foundation mai zaman kanta, mai zaman kanta. Harshen yana mai da hankali kan amincin Ζ™waΖ™walwar ajiya kuma yana ba da kayan aikin don cimma babban daidaici na aiwatar da aikin, yayin yin ba tare da yin amfani da mai tara shara da lokacin aiki ba (an rage lokacin aiki zuwa farawa na asali da kiyaye daidaitaccen Ι—akin karatu).

An tsara hanyoyin sarrafa Ζ™waΖ™walwa na Rust don kawar da kurakurai a cikin sarrafa alamun shafi da kuma kare daga matsalolin da ke tasowa daga sarrafa Ζ™ananan matakan Ζ™waΖ™walwa, kamar samun damar Ζ™waΖ™walwar ajiya bayan an 'yantar da ita, rashin ambaton alamun da ba su da ma'ana, wuce gona da iri na buffer, da sauransu. Aikin yana haΙ“aka manajan kunshin Cargo don rarraba Ι—akunan karatu, sauΖ™aΖ™e ginawa, da kuma sarrafa abubuwan da suka dogara da su. Ana kula da ma'ajiyar crates.io don Ι—aukar Ι—akunan karatu.

Ana ba da amincin Ζ™waΖ™walwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba tunani, kiyaye bin diddigin mallakar abu, kiyaye tsawon rayuwa (masu iyawa), da tantance daidaiton damar Ζ™waΖ™walwar ajiya yayin aiwatar da lambar. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buΖ™atar Ζ™addamar da Ζ™ima mai mahimmanci kafin amfani, yana sarrafa kurakurai mafi kyau a cikin daidaitaccen Ι—akin karatu, yana amfani da ra'ayi na nassoshi marasa canzawa da masu canji ta tsohuwa, yana ba da buga rubutu mai Ζ™arfi don rage kurakurai masu ma'ana.

Manyan sabbin abubuwa:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 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 main() {
    assert_matches!(get_random_number(), 1..=6);
    }

  • ΠŸΡ€ΠΈ сборкС для Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ WebAssembly ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΡƒ ΠΎΠΏΡ†ΠΈΠΈ Β«β€”allow-undefinedΒ», Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²ΡˆΠ΅ΠΉ связываниС ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· модуля Β«envΒ». ΠŸΡ€ΠΈ сборкС для WebAssembly всС связанныС с ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ символы Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. Для возвращСния старого повСдСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния Β«RUSTFLAGS=-Clink-arg=β€”allow-undefinedΒ» ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β€˜#[link(wasm_import_module = Β«envΒ»)]Β» Π² ΠΊΠΎΠ΄Π΅.
  • An koma wani sabon yanki na API zuwa nau'in barga, gami da hanyoyin da aiwatar da halaye an daidaita su:
    • 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 нСдСль, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΎΠ±Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ достигли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ расчётному максимуму.



source: budenet.ru
Sayi amintaccen masauki don shafuka tare da kariyar DDoS, sabar VPS VDS πŸ”₯ Sayi ingantaccen masaukin yanar gizo tare da kariyar DDoS, sabar VPS VDS | ProHoster