Size: a a a

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

2020 March 02

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
Ну, я имею ввиду правильный трансмьют, через Box::into_raw и каст указателя.
источник

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
Вафель
А. почему просто не сделать trait Trait: Any?
А ты попробуй :)
источник

В

Вафель in Rust — русскоговорящее сообществo
polunin.ai
есть Zip<Iter<>, Iter<>>
мне нужно пройтись по нему в двух циклах for
по-наивному сделать нельзя, ругается на использование после мува:
for (token, rule) in iter {
}
for (token, rule) in iter { // <- здесь ругается
}
но если я ставлю & перед iter, то пишет что &Zip is not iterator
как тут взять ссылку?
.by_ref()?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Вафель
А. почему просто не сделать trait Trait: Any?
потому что это так не работает
источник

M

Marat in Rust — русскоговорящее сообществo
Есть какой-нить сводный cheatsheet по десахаризации?
источник

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
Ivan Dubrov
Ну, я имею ввиду правильный трансмьют, через Box::into_raw и каст указателя.
источник

В

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

В

Вафель in Rust — русскоговорящее сообществo
Ivan Dubrov
А ты попробуй :)
Мдауж, неприятно
источник

ID

Ivan Dubrov in Rust — русскоговорящее сообществo
Вафель
Мдауж, неприятно
Собственно, поэтому https://crates.io/crates/mopa и существует.
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Можно как-то слить их в одну?
Использовать тот или иной вид указателя на dyn Trait. Боксить не обязательно, обычной ссылки вполне достаточно. Только как минимум в одной ветке нужно явно к ссылке на dyn Trait скастовать
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
polunin.ai
the trait std::convert::From<char> is not implemented for &str черд
Есть же char::encode_utf8
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Антон ⚙️
Есть же char::encode_utf8
Там сигнатура void encode(&mut [u8]), это ужасно
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
polunin.ai
Там сигнатура void encode(&mut [u8]), это ужасно
Нет же
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
(self, &mut [u8]) -> &mut str
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
polunin.ai
есть Zip<Iter<>, Iter<>>
мне нужно пройтись по нему в двух циклах for
по-наивному сделать нельзя, ругается на использование после мува:
for (token, rule) in iter {
}
for (token, rule) in iter { // <- здесь ругается
}
но если я ставлю & перед iter, то пишет что &Zip is not iterator
как тут взять ссылку?
ходить 2 раза плохо. Сделай фолд (который ты не любишь, хе), и в процессе этого формируй 2 аккумулятора
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
polunin.ai
ну мне нужно продолжить выполнение с того места на котором оно закончилось в первом цикле
а, тогда тебе подойдет partition
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Опять XY problem
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Антон ⚙️
(self, &mut [u8]) -> &mut str
Значит я куда-то не туда смотрел
Ну я накостылял пока и нормально
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Pavel
кстати, нет пропозалов? чтоб unsized структура могла рассказать языку про свой размер?
std::mem::size_of_val?
источник

P

Pavel in Rust — русскоговорящее сообществo
Casual tears
std::mem::size_of_val?
и откуда она узнает, где я храню размер объекта у себя в структуре?
источник