ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Rust 1.79, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Mozilla, Π½ΠΎ Π½ΡΠ½Π΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡΠΎΠ²ΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Rust Foundation. Π―Π·ΡΠΊ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±Ρ ΠΎΠ΄ΡΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ° ΠΈ runtime (runtime ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ).
ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Rust ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Π·Π°ΡΠΈΡΠ°Π²Π°Ρ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈ ΠΎΡ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ Π΄Ρ. ΠΠ° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Cargo. ΠΠ° Ρ ΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ crates.io.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Rust ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΡΡΠ΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ, ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ (ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ) ΠΈ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°. Rust ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠ΅ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π°, ΠΈΠ·ΠΈΡΠΊΠ²Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΈΠΌ, ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ (immutable) Π½Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠΈΠ»Π½Π° ΡΡΠ°ΡΠΈΡΠ½Π° ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, Π·Π° Π΄Π° ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° inline-ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±Π»ΠΎΠΊΠΎΠ² Β«const { β¦ }Β», ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ
Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² Π±Π»ΠΎΠΊΠ΅ Β«const { β¦ }Β» ΠΊΠΎΠ΄ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, Π±Π΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΡΠ΅ΡΠ΅Π· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Β«const ITEM: β¦ = β¦Β» Π² Π±Π»ΠΎΠΊΠ°Ρ
Β«const { β¦ }Β» ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½ΠΈΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
const EMPTY: Option<Vec<u8>> = None;
let foo = [EMPTY; 100];ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΡΡ:
let foo = [const { None }; 100];
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Β«T: Trait<Assoc: Boundsβ¦>Β» Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΅Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ impl Trait ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Β«whereΒ».
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ
Β«matchΒ» ΠΈ Β«ifΒ».
let a = if true {
..;
&temp() // Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π»Π΅Π½ΠΎ
} else {
..;
&temp() // Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π»Π΅Π½ΠΎ
}; - Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ main ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ crate-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΡΠ»Π°Π³ Β«-Cforce-frame-pointers=yesΒ», Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
- Π ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½ΠΎΠ²Π° ΠΏΠΎΡΡΠΈΡ API, ΠΊΠ°ΡΠΎ ΡΠ° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΠΈΠΏΠ°ΠΆΠΈΡΠ΅:
- {integer}::unchecked_add
- {integer}::unchecked_mul
- {integer}::unchecked_sub
- <[T]>::split_at_unchecked
- <[T]>::split_at_mut_unchecked
- <[u8]>::utf8_chunks
- str::Utf8Chunks
- str::Utf8Chunk
- <*const T>::is_aligned
- <*mut T>::is_aligned
- NonNull::is_aligned
- <*const [T]>::len
- <*mut [T]>::len
- <*const [T]>::is_empty
- <*mut [T]>::is_empty
- NonNull::<[T]>::is_empty
- CStr::count_bytes
- io::Error::downcast
- num::NonZero<T>
- path::absolute
- proc_macro::Literal::byte_character
- proc_macro::Literal::c_string
- ΠΡΠΈΠ·Π½Π°ΠΊ Β«constΒ», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΈ Π΄Π° Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ, Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅:
- Atomic*::into_inner
- io::Cursor::new
- io::Cursor::get_ref
- io::Cursor::position
- io::empty
- io::repeat
- io::sink
- panic::Location::caller
- panic::Location::file
- panic::Location::line
- panic::Location::column
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°
ΡΠ°ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Webassembly (WASM). - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ aarch64-apple-visionos, aarch64-apple-visionos-sim ΠΈ riscv32ima-unknown-none-elf. Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, Π½ΠΎ Π±Π΅Π· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ aarch64-pc-windows-gnullvm, i686-pc-windows-gnullvm ΠΈ x86_64-pc-windows-gnullvm. ΠΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Rust Foundation, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΡΡΠΈΡΡΠ΅Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Rust ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌΠ° Β«Safety-Critical Rust ConsortiumΒ», Π½Π°ΡΠ΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ·ΡΠΊΠ° Rust Π² ΡΠ΅ΡΠ΅Π½ΠΈΡΡ , ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ (Safety-Critical Software), ΡΠ±ΠΎΠΉ Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ³ΡΠΎΠΆΠ°ΡΡ ΠΆΠΈΠ·Π½ΠΈ Π»ΡΠ΄Π΅ΠΉ, Π½Π°Π½Π΅ΡΡΠΈ Π²ΡΠ΅Π΄ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΠ·Π½ΡΠΌ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. Π ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ARM, AdaCore, Ferrous Systems, OxidOS, Synopsys, HighTec EDV-Systeme GmbH, TrustInSoft, Veecle ΠΈ Woven by Toyota. Π‘ΡΠ΅Π΄ΠΈ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² ΡΠ·ΡΠΊΠ° Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π΄ΡΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π΄ΡΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Verus β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Verus ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
