ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Rust 1.84. Π―Π΄Ρ€Π° Tock ΠΈ Vekos, написани Π½Π° Rust. Π”ΠΈΠ°Π΅ΠΊΡ‚ Mini-C

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡΡ‚Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ с ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Rust 1.84, създадСн ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Mozilla, ΠΊΠΎΠΉΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΏΠΎΠ΄ покровитСлството Π½Π° нСзависимата нСправитСлствСна организация Rust Foundation. Π•Π·ΠΈΠΊΡŠΡ‚ сС фокусира Π²ΡŠΡ€Ρ…Ρƒ бСзопасната Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ прСдоставя срСдства Π·Π° постиганС Π½Π° висока паралСлизация Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сборщик Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ ΠΈ runtime (runtime сС ΡΡŠΡΡ‚ΠΎΠΈ само ΠΎΡ‚ основна инициализация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°).

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Rust освобоТдават Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π³ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π°Π²Π°Ρ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡ€ΠΎΠΈΠ·Π»ΠΈΠ·Π°Ρ‰ΠΈ ΠΎΡ‚ ниско Π½ΠΈΠ²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ освободСна ΠΏΠ°ΠΌΠ΅Ρ‚, Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π΄Ρ€. Π—Π° разпространСниС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, осигуряванС Π½Π° компилация ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° зависимоститС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π° пакСтния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Cargo. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° crates.io.

БСзопасната Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Rust сС осигурява ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° компилацията Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚ΠΈΡ‚Π΅, прослСдяванС Π½Π° ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π²Π·Π΅ΠΌΠ°Π½Π΅ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ (област Π½Π° видимост) ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° корСктността Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π°. Rust ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° прСдоставя срСдства Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Ρ†Π΅Π»ΠΈ числа, изисква Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° инициализация Π½Π° стойноститС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ тяхната ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΏΡ€ΠΈΠ»Π°Π³Π° концСпцията Π·Π° нСизмСняСмост (immutable) Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° силна статична типизация Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° логичСскитС Π³Ρ€Π΅ΡˆΠΊΠΈ.

Основни нововъвСдСния:

  • Π’ пакСтния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Cargo Π΅ стабилизиран ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° зависимости, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π±ΠΈΡ€Π° вСрсиитС Π½Π° зависимитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° с вСрсиитС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Rust, заявСни ΠΊΠ°Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (MSRV, Minimum Supported Rust Version). Новата функция позволява Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ Ρ€ΡŠΡ‡Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° стари вСрсии Π½Π° всяка зависимост Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ със стари вСрсии Π½Π° инструмСнта Rust. Новият Ρ€Π΅ΠΆΠΈΠΌ Π½Π° опрСдСлянС Π½Π° зависимости Ρ‰Π΅ бъдС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² вСрсия Rust 1.85, Π° Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ ΠΊΠ°Ρ‚ΠΎ опция, Π·Π° която Π² сСкцията β€ž[resolver]β€œ Π² Ρ„Π°ΠΉΠ»Π° β€ž.cargo/config.tomlβ€œ трябва Π΄Π° сС посочи β€˜incompatible-rust-versions = β€œfallback”.’
  • Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° към Π½ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ (trait solver), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° прилоТимост Π½Π° Ρ‚ΠΈΠΏΠ°ΠΆΠΈΡ‚Π΅, нормализация Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅. Π’ вСрсия 1.84 новият ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΅ Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΈΠΏΠ°ΠΆΠΈΡ‚Π΅, Ρ‚.Π΅. с ΠΎΡ†Π΅Π½ΠΊΠ°Ρ‚Π° Π·Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Ρ‚ΠΈΠΏΠ°ΠΆ Π·Π° разглСТдания Ρ‚ΠΈΠΏ, Π²Π·Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΊΠΎΠ΄Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ crate-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Π£ΠΊΠ°Π·Π°Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π² старата рСализация Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ прСсичанС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Ρ‚ΠΈΠΏΠ°ΠΆΠΈΡ‚Π΅.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ² API Β«Strict ProvenanceΒ», ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π» Π² цяло число ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ΅Π½ΠΈΡ‚Π΅ към указатСля ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ с информация Π·Π° ΠΏΡ€ΠΎΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° (освСн адрСса, към указатСля сС прикрСпя стойността Β«provenanceΒ» с информация Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° сС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ къдС ΠΈ ΠΊΠΎΠ³Π° указатСлят ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ²Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°). ΠŸΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° указатСля Π² цяло число ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ възниква Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ€Π°Π΄ΠΈ трудности ΠΏΡ€ΠΈ прослСдяванС ΠΏΡ€ΠΎΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° получСния ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π». Новият API позволява ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° нискоуровнСви ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° информация Π² ΠΌΠ»Π°Π΄ΡˆΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΎΠ²Π΅ Π½Π° указатСля, Π±Π΅Π· Π΄Π° сС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° указатСлят Π² цяло число.
  • Нов Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ API Π΅ ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ Π² катСгорията стабилни, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ стабилизирани ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Ρ‚ΠΈΠΏΠ°ΠΆΠΈ:
    • Ipv6Addr::is_unique_local
    • Ipv6Addr::is_unicast_link_local
    • core::ptr::with_exposed_provenance
    • core::ptr::with_exposed_provenance_mut
    • ::addr
    • ::expose_provenance
    • ::with_addr
    • ::map_addr
    • ::isqrt
    • ::checked_isqrt
    • ::isqrt
    • NonZero::isqrt
    • core::ptr::without_provenance
    • core::ptr::without_provenance_mut
    • core::ptr::dangling
    • core::ptr::dangling_mut
    • Pin::as_deref_mut
  • ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Β«constΒ» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅:
    • AtomicBool::from_ptr
    • AtomicPtr::from_ptr
    • AtomicU8::from_ptr
    • AtomicU16::from_ptr
    • AtomicU32::from_ptr
    • AtomicU64::from_ptr
    • AtomicUsize::from_ptr
    • AtomicI8::from_ptr
    • AtomicI16::from_ptr
    • AtomicI32::from_ptr
    • AtomicI64::from_ptr
    • AtomicIsize::from_ptr
    • ::is_null
    • ::as_ref
    • ::as_mut
    • Pin::new
    • Pin::new_unchecked
    • Pin::get_ref
    • Pin::into_ref
    • Pin::get_mut
    • Pin::get_unchecked_mut
    • Pin::static_ref
    • Pin::static_mut
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° асСмблСрни inline-вмъквания Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ s390x ΠΈ Arm64EC.
  • Π—Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° WebAssembly Π΅ стабилизирана ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° функционалности multivalue, reference-types ΠΈ tail-call.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ Π²Ρ‚ΠΎΡ€ΠΈ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° wasm32v1-none. Π’Ρ‚ΠΎΡ€ΠΈ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° гаранция Π·Π° компилация.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, заслуТава Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°Ρ‚ няколко ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Rust:

  • ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Tock 2.2, написана Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ. БистСмата позволява ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° няколко Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ прилоТСния Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ устройства с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΎΠ±Π΅ΠΌ Π½Π° RAM, ΠΊΠ°Ρ‚ΠΎ сСнзори, TPM (Trusted Platform Module), ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° автСнтикация ΠΈ носими устройства. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ ARM Cortex-M ΠΈ RISC-V. ΠšΠ»ΡŽΡ‡ΠΎΠ²Π° особСност Π½Π° Tock Π΅ изолацията Π½Π° Π½ΠΈΠ²Π°Ρ‚Π° прилоТСния, ядро ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ изолацията Π½Π° всяко ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. Π—Π° изолация сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, Ρ‚Π°ΠΊΠ° ΠΈ раздСлянСто Π½Π° Π½ΠΈΠ²ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ VEKOS (Verified Experimental Kernel OS) Ρ€Π°Π·Π²ΠΈΠ²Π° ядро Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, осигуряващо вСрификация Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. ΠŸΡ€ΠΈ всяка опСрация с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСс ΠΈ разпрСдСлянСто Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° криптографско ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, позволяващо вСрификация Π½Π° опСрацията ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ изпълнСниС (рСализацията сС сравнява с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π·Π° вСрификация Π½Π° дСйствия Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма). Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма VKFS Π·Π° осигуряванС Π½Π° цСлостта ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈ Π·Π°Π΄Π½ΠΈΠΌ числом сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° структура β€žMerkle Treeβ€œ, всяка ΠΊΠ»ΠΎΠ½ΠΊΠ° ΠΎΡ‚ която Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° всички ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈ ΠΊΠ»ΠΎΠ½ΠΊΠΈ ΠΈ възли, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡŠΡ€Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΡ‚ΠΎ Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅. РазпрСдСлянСто Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π² Ρ€Π΅ΠΆΠΈΠΌ COW (Copy-On-Write).
  • Π“Ρ€ΡƒΠΏΠ° изслСдоватСли ΠΎΡ‚ Microsoft ΠΈ Inria Ρ€Π°Π·Π²ΠΈΠ²Π° подмноТСство Π½Π° Π΅Π·ΠΈΠΊΠ° C β€” Mini-C, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C Π² прСдставянС Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° c2rust, новият ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ позволява Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust ΠΊΠΎΠ΄ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° unsafe, Π½ΠΎ Π΅ насочСн Π³Π»Π°Π²Π½ΠΎ към ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° C ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ с Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ доказатСлство Π·Π° надСТдност. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° сС, Ρ‡Π΅ Ρ‰Π΅ бъдС ΠΏΠΎ-лСсно ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π²Π΅Π΄Π΅ C ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² прСдставянС Π½Π° Mini-C, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ сС допускат Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ unsafe Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ слСд Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½Π° компилация ΠΎΡ‚ C Π² Rust.

    РСализация компилятора Π΅ Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° инструмСнтария KaRaMeL. Mini-C Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΈ тСстван Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° прСнаписванС Π½Π° Rust Π½Π° криптографската Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° HACL*, Π·Π° която Π΅ прСдоставСно Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ доказатСлство Π·Π° надСТдност. Π’Π°ΠΊΠΎΠ²Π° доказатСлство Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π·Π° дСмонстриранС Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° бСзопасСн ΠΊΠΎΠ΄ Π½Π° Rust ΠΎΡ‚ Mini-C.

  • Π”Π°Π½ΠΈΠ΅Π» Π‘Ρ‚Π΅Π½Π±Π΅Ρ€Π³ (Daniel Stenberg), Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° curl, обяви спиранСто Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Curl, Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π΅Π½ HTTP-Π±Π΅ΠΊΠ΅Π½Π΄, написан Π½Π° Rust с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Hyper. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π΅ липсата Π½Π° интСрСс ΠΎΡ‚ страна Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.
  • ОбявСн Π΅ Π±Π΅Ρ‚Π° Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Fish 4.0, прСнаписана Π½Π° Rust. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ слСд Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π° Π½Π° Fish Π΅ напълно прСнаписана ΠΎΡ‚ C++ Π½Π° Rust. ΠŸΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust Π΅ Ρ€Π΅ΡˆΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с многопоточността, осигурило Π΅ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ инструмСнтариум Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° компилация, повишило Π΅ бСзопасността ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ-ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»Π΅Π½ Π·Π° Π½ΠΎΠ²ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ.
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Tor ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° вСрсия Arti 1.3.2, Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π° рСализация Π½Π° Tor ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, написана Π½Π° Rust. Arti ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ прилоТСния. ΠŸΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Arti Π΅ Π²Π·Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡΡ‚ ΠΎΠΏΠΈΡ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Tor, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ извСстни Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΠΎ-ΠΌΠΎΠ΄ΡƒΠ»Π΅Π½ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½. Клон 1.x Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°Ρ‚ΠΎ подходящ Π·Π° ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈ осигурява ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° конфидСнциалност, удобство ΠΈ стабилност, ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ Π΅ основната рСализация Π½Π° C. Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° RPC, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π΅Π»Π΅ΠΉΠ½ΠΈ услуги ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DoS Π°Ρ‚Π°ΠΊΠΈ Π½Π° Onion услуги.
  • ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ вСрсия 0.15 Π½Π° игровия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Bevy, написан Π½Π° Rust. Π’ двигатСля сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄Π΅Π» (Data Driven) Π·Π° опрСдСлянС Π½Π° ΠΈΠ³Ρ€ΠΎΠ²Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ°, построСн Π²ΡŠΡ€Ρ…Ρƒ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Bevy ECS (Entity Component System), ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС 2D ΠΈ 3D Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³, скСлСтна анимация, опрСдСлянС Π½Π° Π³Ρ€Π°Ρ„Π° Π½Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, систСма Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° сцСни, Ρ„Ρ€Π΅ΠΉΠΌΡƒΡŠΡ€ΠΊ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° потрСбитСлски интСрфСйс, внасянС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² сцСнитС ΠΈ рСсурситС Π±Π΅Π· нСобходимост ΠΎΡ‚ рСстартиранС.
  • ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°Ρ‚Π° тСкстова рСдакция Helix 25.01, написана Π½Π° Rust, която Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π° ΠΈΠ΄Π΅ΠΈΡ‚Π΅, Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΈ Π² vim ΠΈ neovim. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° интСграция с LSP ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ Tree-sitter, Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π½Π° няколко Π±Π»ΠΎΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° мноТСство курсори ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅, Ρ‚Π΅ΠΌΠΈ Π½Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΎΡ‚Π»Π°Π΄ΡŠΡ‡Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» DAP (Debug Adapter Protocol).
  • Π’ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π½ΠΈΡ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Servo, написан Π½Π° Rust, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ‚ΡŠΠΌΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° ServoShell Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ с 20%. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΡƒΠ΅Π± спСцификации Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° Π΄ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² Discord (ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ възмоТно).
  • ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° Mozilla прСдстави инструмСнта Uniffi for React Native Π·Π° създаванС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° React Native Π½Π° Π΅Π·ΠΈΠΊΠ° Rust.
  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΎ Π΅ тСстванС Π½Π° производитСлността Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρ‰ΠΈΡ‚Π΅ устройства Π·Π° изобраТСния Π² PNG Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π”Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Rust (png, zune-png, wuffs) сС ΠΎΠΊΠ°Π·Π°Ρ…Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΈ ΠΎΡ‚ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° C (libpng, spng, stb_image). НапримСр, crate ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ png (image-rs) Π½Π°Π΄ΠΌΠΈΠ½Π° libpng с 1.8 ΠΏΡŠΡ‚ΠΈ Π½Π° x86 систСма ΠΈ с 1.5 ΠΏΡŠΡ‚ΠΈ Π½Π° ARM систСма. image-rs: 375.401 MP/s (срСдно) 318.632 MP/s (Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ срСдно) zune-png: 376.649 MP/s (срСдно) 302.529 MP/s (Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ срСдно) wuffs: 376.205 MP/s (срСдно) 287.181 MP/s (Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ срСдно) libpng: 208.906 MP/s (срСдно) 173.034 MP/s (Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ срСдно) spng: 299.515 MP/s (срСдно) 235.495 MP/s (Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ срСдно) stb_image: 234.353 MP/s (срСдно) 171.505 MP/s (Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ срСдно)

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster