Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² GCC ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΎΡΡΡΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Rust-GCC, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ GCC-ΡΡΠΎΠ½ΡΡΠ½Π΄ gccrs Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° Rust Π½Π° Π±Π°Π·Π΅ GCC. ΠΠΎ Π½ΠΎΡΠ±ΡΡ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠ²Π΅ΡΡΠΈ gccrs Π΄ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΡΠΎΠΌ Rust 1.40, ΠΈ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠ½ΡΡ Rust-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ libcore, liballoc ΠΈ libstd. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ 6 ΠΌΠ΅ΡΡΡΠ΅Π² ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (borrow checker) ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠ° proc_macro.
Π’Π°ΠΊΠΆΠ΅ Π½Π°ΡΠ°Π»Π°ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ gccrs Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² GCC. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ½ΡΡΠΈΡ gccrs Π² GCC, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ GCC ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° rustc. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π½Π°ΡΠ°Π»Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Rust. ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΏΠ΅ΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΠΈΠΊΠ»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ GCC ΠΈ gccrs Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΡΠ½ Π² ΡΠΎΡΡΠ°Π² Π²ΡΠΏΡΡΠΊΠ° GCC 13, Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΌΠ°ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π³ΠΎΠ΄Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru