ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Ρ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 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
