ΠΠ±Π½Π°ΡΠΎΠ΄Π²Π°Π½Π° Π΅ Π²Π΅ΡΡΠΈΡ 1.88 Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Ρ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Rust, ΠΊΠΎΠΉΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Mozilla, Π° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΠΊΠ°ΡΠ° Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°ΡΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΠ²Π΅Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Rust Foundation. ΠΠ·ΠΈΠΊΡΡ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π΄Π°ΡΠΈ, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈΡΠ΅ ΠΈΠ»ΠΈ runtime (runtime ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π° Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°).
ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Rust ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Π·Π°ΡΠΈΡΠ°Π²Π°Ρ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈ ΠΎΡ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ Π΄Ρ. ΠΠ° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Cargo. ΠΠ° Ρ ΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ crates.io.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Rust ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΡΡΠ΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ, ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ (ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ) ΠΈ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°. Rust ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠ΅ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π°, ΠΈΠ·ΠΈΡΠΊΠ²Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΈΠΌ, ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ (immutable) Π½Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠΈΠ»Π½Π° ΡΡΠ°ΡΠΈΡΠ½Π° ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, Π·Π° Π΄Π° ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ·ΡΠ°Π·Π° βletβ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ βifβ ΠΈ βwhileβ, ΠΊΠ°ΡΠΎ Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡΡ β&&β (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ Π). ΠΠ·ΡΠ°Π·ΠΈΡΠ΅ βletβ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Ρ Ρ Π±ΡΠ»Π΅Π²ΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ. ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅, ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π² let-ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ, Π° ΡΡΡΠΎ ΠΈ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ βifβ ΠΈ βwhileβ. if let Channel::Stable(v) = release_info() && let Semver { major, minor, .. } = v && major == 1 && minor == 88 {
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° βΠ³ΠΎΠ»ΠΈβ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ Ρ Π°ΡΡΠΈΠ±ΡΡΠ° β#[unsafe(naked)]β ΠΈ ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° βnaked_asm!β. ΠΡΠΈ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΡΡΡΡΠ²Π° Π΅ΠΏΠΈΠ»ΠΎΠ³ ΠΈ ΠΏΡΠΎΠ»ΠΎΠ³, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠ΄, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ΅Π½ ΠΊΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΡΠ° (βΠ³ΠΎΠ»Π°ΡΠ°β ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΈ Π²ΡΡΡΠ°Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π΄ΠΎΠ±Π°Π²ΡΠ½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°). βΠΠΎΠ»ΠΈΡΠ΅β ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² Π±Π»ΠΎΠΊΠ° βglobal_asm!β. #[unsafe(naked)] pub unsafe extern βsysv64β fn wrapping_add(a: u64, b: u64) -> u64 { core::arch::naked_asm!( βadd rax, rdi, rsiβ, βretβ ); }
- Π Π΅Π·ΠΈΠΊΠ° ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π·Π° ΡΡΠ»ΠΎΠ²Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ βcfgβ ΠΈ βcfg_attrβ (ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ), Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π±ΡΠ»Π΅Π²ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈ βtrueβ ΠΈ βfalseβ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ. Π’Π΅Π·ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈ ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΠΌΠ°ΠΊΡΠΎΡΠ° βcfg!β ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ β[target]β Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Cargo. ΠΠ·ΡΠ°Π·ΠΈΡΠ΅ cfg(true) ΠΈ cfg(false) ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π²ΠΌΠ΅ΡΡΠΎ cfg(all()) ΠΈ cfg(any()) Π·Π° ΠΏΠΎ-ΡΡΠ½ΠΎ ΠΈΠ·ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡΠ° ΡΠΈ.
- Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Cargo Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ±ΠΎΡΡΠΈΠΊΠ° Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠ° Π² Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈΡΠ΅ ΠΏΠΎ-ΡΠ°Π½ΠΎ Π² ΠΊΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΡΠ΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Ρ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ²Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·Π²ΡΠ½ crate ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 3 ΠΌΠ΅ΡΠ΅ΡΠ°, ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡΠ΅ crate ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΌΠ΅ΡΠ΅Ρ. ΠΠΎΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ Β«βofflineΒ» ΠΈΠ»ΠΈ Β«βfrozenΒ» Π² crage.
- Π ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½ΠΎΠ²Π° ΠΏΠΎΡΡΠΈΡ API, ΠΊΠ°ΡΠΎ ΡΠ° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΠΈΠΏΠ°ΠΆΠΈΡΠ΅:
- Cell::update
- impl Default for *const T
- impl Default for *mut T
- mod ffi::c_str
- HashMap::extract_if
- HashSet::extract_if
- hint::select_unpredictable
- proc_macro::Span::line
- proc_macro::Span::column
- proc_macro::Span::start
- proc_macro::Span::end
- proc_macro::Span::file
- proc_macro::Span::local_file
- ::as_chunks
- ::as_rchunks
- ::as_chunks_unchecked
- ::as_chunks_mut
- ::as_rchunks_mut
- ::as_chunks_unchecked_mut
- ΠΡΠΈΠ·Π½Π°ΠΊ Β«constΒ» Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ Π² ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅:
- NonNull::replace
- ::replace
- std::ptr::swap_nonoverlapping
- Cell::replace
- Cell::get
- Cell::get_mut
- Cell::from_mut
- Cell::as_slice_of_cells
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΅ ΠΏΡΡΠ²ΠΈΡΡ ΡΠ»ΠΎΠΉ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° i686-pc-windows-gnu.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Rust ΡΡΠ±ΠΈΡΠΈΡ:
- ΠΡΠΎΠ΅ΠΊΡΡΡ Munal OS ΡΠ°Π·Π²ΠΈΠ²Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Rust ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° unikernel. Π Munal OS Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π²ΡΡΠ΅ΡΠ½ΡΠ²Π°ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡ, ΠΌΠ°ΠΏΠΈΠ½Π³ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅Π΄Π±Π° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ UEFI). Π―Π΄ΡΠΎΡΠΎ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² Π΅Π΄Π½ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° Π½Π° WASM (Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠ° wasmi Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ° Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄ WebAssembly).
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π° Ρ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π· ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ ΠΌΠΈΡΠΊΠ°. ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΡΠ»ΠΊΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΈ. ΠΠ° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ TCP ΡΡΠ΅ΠΊ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π‘ΡΠ΅Π΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° Munal OS, ΡΠ°: ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HTML ΠΈ HTTPS, ΡΠ΅ΠΊΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ Π½Π° Python. ΠΠΎΠ΄ΡΡ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠΈΡΡΠ° MIT.

- Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Asterinas 0.15.2, Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Rust, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠΎ ABI, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ Ρ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π―Π΄ΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ x86-64 ΠΈ RISC-V ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° 206 ΠΎΡ 368 ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° Linux. Π ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΡΠ°ΡΡΠ²Π°Ρ 45 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΈ. Π―Π΄ΡΠΎΡΠΎ Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° βframekernelβ, Π² ΠΊΠΎΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΎΠ±ΡΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° Π½Π° Π½ΠΈΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠ΄, Π² ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°. ΠΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π½Π° Π½ΠΈΠ²ΠΎ OS Services ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π°Ρ unsafe Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠΠΎΠ΄ΡΡ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MPL 2.0.
- ΠΠ° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° rsched, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ. Π ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°, ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Ρ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ. ΠΠ° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° BPF, Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust. ΠΠ²ΡΠΎΡ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° Π΅ ΠΡΠΈΡ ΠΠ΅ΠΉΡΡΠ½ (Chris Mason), ΡΡΠ·Π΄Π°ΡΠ΅Π»ΡΡ ΠΈ Π³Π»Π°Π²Π½ΠΈΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Btrfs.
- ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Collabora ΡΡΠΎΠ±ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° Coccinelle Π·Π° Π΅Π·ΠΈΠΊΠ° Rust. Coccinelle ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΡΡΠ΅Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ Π½Π° Π΅Π·ΠΈΠΊΠ° C Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈΡΡΠ° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΡΠ²Π°ΡΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΈ ΠΏΠ°ΡΠΎΠ²Π΅, Π½Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΌΡΡΡΠΎ Π² ΠΊΠΎΠ΄Π°.
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° GNOME ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ glycin, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠ° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° sandbox ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΎΡΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ΅Π· gdk::Textures ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° glycin Π² GTK4, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° glycin Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° GdkPixbuf, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² GNOME Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Glycin Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡΠΎΠ³Π»Π΅Π΄Π°ΡΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Loupe, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½ Π² GNOME ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅ΠΊΠ΅Π½Π΄ΡΡ Π·Π° GdkPixbuf Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° glycin Π² GNOME Shell, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° GNOME, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡΡ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

