vault backup: 2025-12-16 18:44:55

This commit is contained in:
akulij 2025-12-16 18:44:55 +08:00
parent c64e01ea4d
commit 402d1c2ef1

View File

@ -86,7 +86,7 @@ fn main() {
С появлением сырых указателей возникает важный нюанс: раз компилятор не может контролировать корректность памяти, ответственность за её корректное использование будет ложится на программиста. Так как такой функционал необходим, но перечит памяти-безопасности языка, такой код отделяется в специальный unsafe блок.
## Unsafe
Ключевое слово unsafe означает потенциально не безопасный код с точки зрения компилятора. При написании блока unsafe ответственность за правильность и безопасность ложится на программиста. Но, при этом, rust внутри блока не превращается в некий аналог C. Компилятор просто разрешает программисту выполнять некоторые {{дополнительные действия}}[https://doc.rust-lang.org/reference/unsafety.html], в которые входят:
- Дереференс сырого указателя
- Дереференс сырого указателя ()
- Вызов unsafe функции (к примеру, определенной через extern)
- Чтение/запись mut static переменной
- Имплементация unsafe трейта