ΠΠ±ΡΠ°Π²Π΅Π½ΠΎ Π΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ Π·Π° ΠΎΠΏΡΡΠ° Π½Π°ΠΌΠ΅Π½Π° Rust 1.66, ΠΎΡΠ½ΠΎΠ²Π°Π½ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Mozilla, Π½ΠΎ ΡΠ΅Π³Π° ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡΠΎΠ²ΠΈΡΠ΅Π»ΡΡΠ²ΠΎ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠ½Π°ΡΠ° Π½Π΅ΠΏΡΠΎΡΠΈΡΠ½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ° Rust Foundation. ΠΠ°Π·ΠΈΠΊΠΎΡ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π²ΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΈΡΠΎΠ° ΠΈΠ·Π±Π΅Π³Π½ΡΠ²Π°ΡΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠΎΠ±ΠΈΡΠ°Ρ Π½Π° ΡΡΠ±ΡΠ΅ ΠΈ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° (Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π΅ ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°).
ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Rust Π³ΠΎ ΡΠΏΠ°ΡΡΠ²Π°Π°Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ ΠΎΠ΄ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅ ΠΈ Π³ΠΎ ΡΡΠΈΡΠ°Ρ ΠΎΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΠΎ ΡΠ΅ ΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠ°ΡΠ° ΠΎΠ±Π»Π°ΡΡ ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈ, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π½ΡΠ»Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ, ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡΡΠ²Π°ΡΠ° Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ ΠΈΡΠ½. ΠΠ° Π΄Π° ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ Π³ΡΠ°Π΄Π±ΠΈ ΠΈ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π³ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Cargo. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΎΡ crates.io Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ Π·Π° Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π²ΠΎ Rust Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈ, ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΡΡΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΡ, ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½ΠΈΠΎΡ Π²Π΅ΠΊ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅ (ΠΎΠ±Π΅ΠΌΠΈ) ΠΈ ΠΏΡΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΡ. Rust ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° ΡΠ΅Π»ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ, Π±Π°ΡΠ° Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ ΡΠΏΠΎΡΡΠ΅Π±Π°, ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π½ΡΠ΄ΠΈ ΡΠΈΠ»Π½ΠΎ ΡΡΠ°ΡΠΈΡΠΊΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π·Π° Π΄Π° ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π°Ρ Π»ΠΎΠ³ΠΈΡΠΊΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- Π ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡΡ c ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ (Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ Β«#[repr(Int)]Β») ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½ΡΠ° (Π½ΠΎΠΌΠ΅ΡΠ° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΈ), Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Ρ. #[repr(u8)] enum Foo { A(u8), # Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ 0 B(i8), # Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ 1 C(bool) = 42, # Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ 42 }
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ core::hint::black_box, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π°Π·Π°Π΄ ΠΏΡΠΈΠ½ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΡΠ½ΠΊΡΠΈΡ black_box ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ ΠΏΠΎΡΡΠΈΡΠ°Π» ΠΊΠΎΠ΄ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΠΈ Π½Π΅ ΡΠ±ΡΠ°Π» Π΅Π³ΠΎ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ black_box(v.as_ptr()) Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²Π΅ΠΊΡΠΎΡ v Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. use std::hint::black_box; fn push_cap(v: &mut Vec) { for i in 0..4 { v.push(i); black_box(v.as_ptr()); } }
- Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ Β«cargoΒ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«removeΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ· ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Cargo.toml.
- ΠΠΎΠ² Π΄Π΅Π» ΠΎΠ΄ API Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π²ΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ:
- proc_macro::Span::source_text
- u*::{checked_add_signed, overflowing_add_signed, saturating_add_signed, wrapping_add_signed}
- i*::{checked_add_unsigned, overflowing_add_unsigned, saturating_add_unsigned, wrapping_add_unsigned}
- i*::{checked_sub_unsigned, overflowing_sub_unsigned, saturating_sub_unsigned, wrapping_sub_unsigned}
- BTreeSet::{first, last, pop_first, pop_last}
- BTreeMap::{first_key_value, last_key_value, first_entry, last_entry, pop_first, pop_last}
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Add AsFd Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ stdio ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ WASI.
- impl TryFrom<Vec<T>> Π΄Π»Ρ Box<[T; N]>
- core::hint::black_box
- Duration::try_from_secs_{f32,f64}
- Option::unzip
- std::os::fd
- Π ΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Β«..XΒ» ΠΈ Β«..=XΒ».
- ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΡΠΎΠ½ΡΡΠ½Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° rustc ΠΈ Π±ΡΠΊΠ΅Π½Π΄Π° LLVM Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΡΠ΅ΠΆΠΈΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ LTO (Link Time Optimization) ΠΈ BOLT (Binary Optimization and Layout Tool), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ armv5te-none-eabi ΠΈ thumbv5te-none-eabi. Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, Π½ΠΎ Π±Π΅Π· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ macOS.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ GCC ΡΡΠΎΠ½ΡΡΠ½Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° Rust (gccrs). Π€ΡΠΎΠ½ΡΡΠ½Π΄ Π²ΠΊΠ»ΡΡΡΠ½ Π² Π²Π΅ΡΠΊΡ GCC 13, ΡΠ΅Π»ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΡΡΠΎΠΈΡΡΡ Π² ΠΌΠ°Π΅ 2023 Π³ΠΎΠ΄Π°. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ GCC 13 ΡΡΠ°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ GCC ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° rustc, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π°ΡΠ°Π±ΠΎΡΠΎΠΊ LLVM. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Rust Π² GCC 13 Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΡΡ Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΠΈ, Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru