Telegram Group & Telegram Channel
πŸ‘£ Π’ GCC-фронтэндС с компилятором Rust Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Borrow checker

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² состав Π²Π΅Ρ‚ΠΊΠΈ GCC 15 ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° сСрия ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ языка Rust Π²ΠΎ фронтэндС gccrs. НаиболСС Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ стала ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ заимствования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (borrow checker), рСализованная Π½Π° основС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Polonius, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ основной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Rust Π² качСствС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния Borrow checker.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ рСализация Borrow checker отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ написана Π½Π° языкС Rust ΠΈ прСдоставляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π² рядС случаСв ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ бСзопасным (safe) ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎ сих ΠΏΠΎΡ€ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Unsafe ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ примСняСмой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Borrow checker.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ для GCC Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ограничСния:

Для Polonius извСстны ситуации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ росту слоТности Π°Π½Π°Π»ΠΈΠ·Π°.
Π’ случаС GCC для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ„Π°Π·Ρ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ раскрутки (bootstrapping) компилятора gccrs Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ трСбуСтся компилятор Rust (Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ устранСно).
Полная рСализация самодостаточной сборки ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ 2-ΡΡ‚Π°Π΄ΠΈΠΉΠ½ΡƒΡŽ раскрутку, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сначала GCC собСрёт gccrs Π±Π΅Π· Borrow checker, Π° Π·Π°Ρ‚Π΅ΠΌ собСрёт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Borrow checker, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° языкС Rust, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° компилятора ΠΈ считая ΠΊΠΎΠ΄ условно-довСряСмым (Ρ‚.Π΅. Π½Π΅ выполняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ заимствования). ПослС сборки Borrow checker-Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° пСрСсборка компилятора, Π½ΠΎ ΡƒΠΆΠ΅ с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ заимствования.

https://opennet.ru/62924/

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/rust_code/903
Create:
Last Update:

πŸ‘£ Π’ GCC-фронтэндС с компилятором Rust Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Borrow checker

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² состав Π²Π΅Ρ‚ΠΊΠΈ GCC 15 ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° сСрия ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ языка Rust Π²ΠΎ фронтэндС gccrs. НаиболСС Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ стала ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ заимствования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (borrow checker), рСализованная Π½Π° основС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Polonius, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ основной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Rust Π² качСствС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния Borrow checker.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ рСализация Borrow checker отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ написана Π½Π° языкС Rust ΠΈ прСдоставляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π² рядС случаСв ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ бСзопасным (safe) ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎ сих ΠΏΠΎΡ€ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Unsafe ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ примСняСмой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Borrow checker.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ для GCC Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ограничСния:

Для Polonius извСстны ситуации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ росту слоТности Π°Π½Π°Π»ΠΈΠ·Π°.
Π’ случаС GCC для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ„Π°Π·Ρ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ раскрутки (bootstrapping) компилятора gccrs Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ трСбуСтся компилятор Rust (Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ устранСно).
Полная рСализация самодостаточной сборки ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ 2-ΡΡ‚Π°Π΄ΠΈΠΉΠ½ΡƒΡŽ раскрутку, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сначала GCC собСрёт gccrs Π±Π΅Π· Borrow checker, Π° Π·Π°Ρ‚Π΅ΠΌ собСрёт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Borrow checker, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° языкС Rust, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° компилятора ΠΈ считая ΠΊΠΎΠ΄ условно-довСряСмым (Ρ‚.Π΅. Π½Π΅ выполняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ заимствования). ПослС сборки Borrow checker-Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° пСрСсборка компилятора, Π½ΠΎ ΡƒΠΆΠ΅ с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ заимствования.

https://opennet.ru/62924/

@rust_code

BY Rust


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/rust_code/903

View MORE
Open in Telegram


Rust Telegram | DID YOU KNOW?

Date: |

Telegram Auto-Delete Messages in Any Chat

Some messages aren’t supposed to last forever. There are some Telegram groups and conversations where it’s best if messages are automatically deleted in a day or a week. Here’s how to auto-delete messages in any Telegram chat. You can enable the auto-delete feature on a per-chat basis. It works for both one-on-one conversations and group chats. Previously, you needed to use the Secret Chat feature to automatically delete messages after a set time. At the time of writing, you can choose to automatically delete messages after a day or a week. Telegram starts the timer once they are sent, not after they are read. This won’t affect the messages that were sent before enabling the feature.

At a time when the Indian stock market is peaking and has rallied immensely compared to global markets, there are companies that have not performed in the last 10 years. These are definitely a minor portion of the market considering there are hundreds of stocks that have turned multibagger since 2020. What went wrong with these stocks? Reasons vary from corporate governance, sectoral weakness, company specific and so on. But the more important question is, are these stocks worth buying?

Rust from tw


Telegram Rust
FROM USA