Size: a a a

2020 November 12

JM

John Meow in Rust Beginners
peach lasagna
это какая-то особая версия?
Нет
источник

DF

Dollar Føølish in Rust Beginners
Потому как на сейф расте есть примитивы которые оборачивают динамические ресурсы в автоматические
источник

JM

John Meow in Rust Beginners
peach lasagna
это какая-то особая версия?
Все, что внутри блоков unsafe - Unsafe Rust. Остальное - Safe Rust.
источник

JM

John Meow in Rust Beginners
В Unsafe Rust можно, например, разыменовывать указатели
источник

JM

John Meow in Rust Beginners
Об этом в Rustonomicon можно почитать
источник

MB

Mikail Bagishov in Rust Beginners
Есть такое соглашение, которого придерживаются очень строго: если функция не помечена как unsafe, то ее поведение всегда определено. UB может произойти только при unsafe-ной операции
источник

MB

Mikail Bagishov in Rust Beginners
Соответстеннно safe rust - это код на расте, который ты пишешь без использования кейворда unsafe.
И оказывается, что на сейфовом расте можно писать примерно любые вещи. (Те вещи, которые в сейф расте невыразимы, в других языках нередко невыразимы вообще.)
источник

pl

peach lasagna in Rust Beginners
а в unsafe раст памятью нужно вручную рулить?
источник

DF

Dollar Føølish in Rust Beginners
Можно но необязательно
источник

JM

John Meow in Rust Beginners
peach lasagna
а в unsafe раст памятью нужно вручную рулить?
s/нужно/можно
источник

pl

peach lasagna in Rust Beginners
отлично, спасибо
источник

MB

Mikail Bagishov in Rust Beginners
unsafe rust - это по определению дополнение к safe rust, то есть это крайне разнородный набор программ.
Например

Делать FFI вызовы - ансейф

Вызывать интринзики - ансейф

Вручную управлять память - ансейф

Принудительно преобразовать значение одного типа к другому типу - ансейф

Заткнуть рот борроу-чекеру - ансейф

и много чего еще



и если ты пишешь ансейф для того, чтобы дергать FFI, то ты не обязан начать управлять памятью вручную
источник

JM

John Meow in Rust Beginners
Mikail Bagishov
unsafe rust - это по определению дополнение к safe rust, то есть это крайне разнородный набор программ.
Например

Делать FFI вызовы - ансейф

Вызывать интринзики - ансейф

Вручную управлять память - ансейф

Принудительно преобразовать значение одного типа к другому типу - ансейф

Заткнуть рот борроу-чекеру - ансейф

и много чего еще



и если ты пишешь ансейф для того, чтобы дергать FFI, то ты не обязан начать управлять памятью вручную
s/интринзики/unsafe fn
источник

А⚙

Антон ⚙️ in Rust Beginners
Dollar Føølish
Если не собирать мусор дома заведутся мыши
источник

DF

Dollar Føølish in Rust Beginners
kek
источник

АГ

Алексей Герасимов... in Rust Beginners
Mikail Bagishov
unsafe rust - это по определению дополнение к safe rust, то есть это крайне разнородный набор программ.
Например

Делать FFI вызовы - ансейф

Вызывать интринзики - ансейф

Вручную управлять память - ансейф

Принудительно преобразовать значение одного типа к другому типу - ансейф

Заткнуть рот борроу-чекеру - ансейф

и много чего еще



и если ты пишешь ансейф для того, чтобы дергать FFI, то ты не обязан начать управлять памятью вручную
>Заткнуть рот борроу-чекеру - ансейф
вы raw pointers имеете в виду? а то подумают еще, что bc отключить можно
источник

MB

Mikail Bagishov in Rust Beginners
raw pointers, трансмут в &'static и так далее.

Ну да, выражение было фигуральным :)
источник

pl

peach lasagna in Rust Beginners
сложна
источник

E

Eugene in Rust Beginners
peach lasagna
а как раст тогда память чистит?
источник

DS

Dmitry Sokolov in Rust Beginners
Есть гайд как корректно реализовать шаринг ссылок через unsafe?
источник