Size: a a a

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

2020 October 05

Э

Эрик in Rust — русскоговорящее сообществo
Roma S
> Alternatively TcpListener implements the Stream trait, which allows you to use the listener in places that want a stream
Ты траллишь миня?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
У меня есть Vec<u8>, при этом его размер ровно 32.
Как из него разумно сделать [u8; 32]?
источник

YB

Yevhenii Babichenko in Rust — русскоговорящее сообществo
Emmanuel Goldstein
У меня есть Vec<u8>, при этом его размер ровно 32.
Как из него разумно сделать [u8; 32]?
.into_boxed_slice(), из него уже .try_into(), например
источник

r

red75prime in Rust — русскоговорящее сообществo
Emmanuel Goldstein
У меня есть Vec<u8>, при этом его размер ровно 32.
Как из него разумно сделать [u8; 32]?
let _: Box<[u8; 32]> = vs.into_boxed_slice().try_into().unwrap();
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Спасибо
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
А, .as_ref() не хватает
источник

Э

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

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Ну у меня он в других местах на стеке, почему бы его и здесь на стек не переложить
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Это хеш, он фиксированного размера
источник

Э

Эрик in Rust — русскоговорящее сообществo
На стеке копирования лишние, потому что массив impl Copy.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
На куче размер не прибит гвоздями, а я хочу, чтобы был прибит
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
С дефолтным Vec<T>
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Эрик
На стеке копирования лишние, потому что массив impl Copy.
Можно сделать ньютайп и будет !Copy
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Но в целом копирование 32 байт на стеке это не самая медлленная часть моей программы, кажется
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Emmanuel Goldstein
На куче размер не прибит гвоздями, а я хочу, чтобы был прибит
Можно и на куче прибить гвозьдями — выше же пример с Box
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Сделать Box<[u8; 32]>?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Ну это извращение. Если я не набенчмаркаю, что реально эта часть тормозит, то зачем?
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Почему это извращение, если тебе нужен массив фиксированного размера? Это гораздо меньшее извращение чем вектор в этом случае (я правильно понимаю, что вектор у тебя всё еще остался?)
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Вектор у меня выпадает из базы, и я его сразу же конвертирую в массив
источник