Size: a a a

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

2020 October 02

f

folex in Rust — русскоговорящее сообществo
ну для struct Key(Vec<u8>) рефкаст-то сработает
источник

Э

Эрик in Rust — русскоговорящее сообществo
Да и какая разница? Тебе эти лайфтаймы только в описании enum'а нужны.
источник

f

folex in Rust — русскоговорящее сообществo
я просто не уверен, что у меня для всего получится отображение в Vec<u8>
источник

f

folex in Rust — русскоговорящее сообществo
Эрик
Да и какая разница? Тебе эти лайфтаймы только в описании enum'а нужны.
Ну они же дальше поползут, в тип хешмапы, в тип структуры, где лежит хешмапа, и так далее
источник

Э

Эрик in Rust — русскоговорящее сообществo
folex
Ну они же дальше поползут, в тип хешмапы, в тип структуры, где лежит хешмапа, и так далее
Ну у тебя всё равно один лайфтайм на весь enum будет. Не так уж и много.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Сложнее будет не забыть, что T: 'a + ?Sized надо писать.
источник

♚Inojelis in Rust — русскоговорящее сообществo
Как мне в этом сервере на Актиксе имплементировать отсылку текста на клиент через вебсокеты?

код: https://github.com/Voodlaz/actix-ws-chat
источник

Э

Эрик in Rust — русскоговорящее сообществo
♚Inojelis
Как мне в этом сервере на Актиксе имплементировать отсылку текста на клиент через вебсокеты?

код: https://github.com/Voodlaz/actix-ws-chat
Это какой-то оверинжиниринг, нет? Просто какой-нибудь TcpStream из std или токио открой, да пихай туда текст, нет?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну а вообще, есть вот это вот:
https://github.com/actix/examples
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
folex
Мне просто обидно делать вот так
let bytes = ...;
hash_map.remove(&Key::A(bytes.clone()))
Без специального лейаута енума невозможно.
Обычно енум в памяти выглядит как < дискриминант | значение>.
У тебя есть просто <значение>, то что лежит от него слева - это уже а) другой кусочек памяти б) уж точно не валидный дискриминант. Так что ссылку брать не на что.
То же самое с желанием скастить Option<&T> -> &Option<T>, и так далее.
источник

f

folex in Rust — русскоговорящее сообществo
Mikail Bagishov
Без специального лейаута енума невозможно.
Обычно енум в памяти выглядит как < дискриминант | значение>.
У тебя есть просто <значение>, то что лежит от него слева - это уже а) другой кусочек памяти б) уж точно не валидный дискриминант. Так что ссылку брать не на что.
То же самое с желанием скастить Option<&T> -> &Option<T>, и так далее.
Хм, понял. Спасибо! Наверное лучший способ это создавать енум, брать ссылку, и превращать обратно в значение
источник

Э

Эрик in Rust — русскоговорящее сообществo
Mikail Bagishov
Без специального лейаута енума невозможно.
Обычно енум в памяти выглядит как < дискриминант | значение>.
У тебя есть просто <значение>, то что лежит от него слева - это уже а) другой кусочек памяти б) уж точно не валидный дискриминант. Так что ссылку брать не на что.
То же самое с желанием скастить Option<&T> -> &Option<T>, и так далее.
Ну, можно внешний enum сделать.

struct ResultVec<T, E> {
v: Vec<UnionResult<T, E>>,
discriminants: BitVec,
}

union UnionResult<T, E> {
t: T,
e: E,
}
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Эрик
Ну, можно внешний enum сделать.

struct ResultVec<T, E> {
v: Vec<UnionResult<T, E>>,
discriminants: BitVec,
}

union UnionResult<T, E> {
t: T,
e: E,
}
ну да, если руками написать енум поверх юниона, то что-то может выйти конечно.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
На самом деле фолексу просто нужны !Sized custom-dst енамы с дискриминантом в метадате, тривиально.
источник

Э

Эрик in Rust — русскоговорящее сообществo
вафель 🧇
На самом деле фолексу просто нужны !Sized custom-dst енамы с дискриминантом в метадате, тривиально.
Ну нет, ну боксы же.
источник

♚Inojelis in Rust — русскоговорящее сообществo
Помогите плиз по Актиксу. Почему у меня не посылает текст через вебсокеты к клиенту?

код: https://github.com/Voodlaz/actix-ws-chat
источник

Э

Эрик in Rust — русскоговорящее сообществo
Опять от аллокаций кого-то лечить придётся. Не надо так.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Эрик
Ну нет, ну боксы же.
Хмм
источник

Э

Эрик in Rust — русскоговорящее сообществo
♚Inojelis
Помогите плиз по Актиксу. Почему у меня не посылает текст через вебсокеты к клиенту?

код: https://github.com/Voodlaz/actix-ws-chat
Если кратко, то ты доки по актиксу не дочитал.
источник

Э

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