Size: a a a

Rust — русскоговорящее сообществo

2020 March 31

В

Вафель in Rust — русскоговорящее сообществo
Btw, без #[macro_export] такое работать тоже не будет
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
Где почитать про алиасинг в расте и какие указатели как алиасятся?
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
какой-нибудь unsafe хардкор?
источник

K

Kitsu in Rust — русскоговорящее сообществo
Roman Proskuryakov
Где почитать про алиасинг в расте и какие указатели как алиасятся?
в номиконе кажется что-то было
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
использовать ли *u8 или *c_void?
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
что из них алиасится со всем?
источник

K

Kitsu in Rust — русскоговорящее сообществo
а, мне кажется сырые указатели вообще не чекаются
источник

В

Вафель in Rust — русскоговорящее сообществo
*const/*mut же вообще не алиасятся
источник

В

Вафель in Rust — русскоговорящее сообществo
точнее они спокойно это могут делать и это не UB
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
В том числе указатели могут алиаситься с mut-ссылками
источник

В

Вафель in Rust — русскоговорящее сообществo
Mikail Bagishov
В том числе указатели могут алиаситься с mut-ссылками
уверен?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Вафель
уверен?
Ну да. Например смотри:
let mut b = Box::new(4);
let b_ref = &mut*b;
источник

Э

Эрик in Rust — русскоговорящее сообществo
Что такое алиасинг и какая разница, если есть read_unaligned если совсем грустно всё?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Алиасинг - это ситуация, когда несколько указателей ссылаются на пересекающиеся куски памяти.
источник

VB

Vlad Beskrovnyy in Rust — русскоговорящее сообществo
Вафель
@vlad20012 мне писать issue, или баг известен?
Неизвестен вродь, напиши
источник

Э

Эрик in Rust — русскоговорящее сообществo
А, ясно. И в чём проблема?
источник

В

Вафель in Rust — русскоговорящее сообществo
Mikail Bagishov
Ну да. Например смотри:
let mut b = Box::new(4);
let b_ref = &mut*b;
Тут не алиасинг вроде, если смотреть по stacked borrows. b_ref реборовит указатель из b
источник

Э

Эрик in Rust — русскоговорящее сообществo
Только если мутабельный доступ в мультипоточном, то будет UB.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
В том что в целях оптимизаций компиляторы ограничивают алиасинг
источник

В

Вафель in Rust — русскоговорящее сообществo
Vlad Beskrovnyy
Неизвестен вродь, напиши
ок
источник