Size: a a a

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

2020 September 08

Э

Эрик in Rust — русскоговорящее сообществo
Действительно.
источник

V

Vladimir in Rust — русскоговорящее сообществo
вафель 🧇
Ну вот и вопрос: что должна отображать capacity? Размер в байтах? Размер в T? Размер в U?
В байтах конечно
источник

Э

Эрик in Rust — русскоговорящее сообществo
Эрик
Не проще сделать struct BiVec(Vec<T>, BackwardsVec<U>); ?
Ну и всё, не делай эту штуку. Делай вот эту штуку.
источник

V

Vladimir in Rust — русскоговорящее сообществo
Если надо узнать сколько элементов влезет, можешь добавить free_left\free_right
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Эрик
Ну и всё, не делай эту штуку. Делай вот эту штуку.
А эту зачем?
источник

Э

Эрик in Rust — русскоговорящее сообществo
К слову, никто не знает, есть ли где-нибудь крейт с BackwardVec?
источник

Э

Эрик in Rust — русскоговорящее сообществo
вафель 🧇
А эту зачем?
Ну ты же зачем-то с конца вставлял?
источник

V

Vladimir in Rust — русскоговорящее сообществo
Эрик
К слову, никто не знает, есть ли где-нибудь крейт с BackwardVec?
Vecdeque
источник

Э

Эрик in Rust — русскоговорящее сообществo
Vladimir
Vecdeque
Не, мне именно непрерывный нужен.
источник

в🧇

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

Э

Эрик in Rust — русскоговорящее сообществo
И чтобы начало в конце всегда было.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Есть SliceDeque, но там пока что только на макоси работает.
источник

Э

Эрик in Rust — русскоговорящее сообществo
А, стоп, нет, просто доки старые.
источник

V

Vladimir in Rust — русскоговорящее сообществo
Эрик
Не, мне именно непрерывный нужен.
Зачем тебе такое?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Vladimir
Зачем тебе такое?
Да так, прост.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Эрик
Ну да, тип туда не зафигачишь.
union {ManuallyDrop<T>, ManuallyDrop<U>, ()}
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Но это вроде анстейбл, потому что !Copy поля
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Еще можно дополнительным шаблонным параметром брать некоторый тип S, который должен быть не короче и выровнен не хуже чем T и U, и использовать MaybeUninit<S> как слоты для хранения
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Mikail Bagishov
Еще можно дополнительным шаблонным параметром брать некоторый тип S, который должен быть не короче и выровнен не хуже чем T и U, и использовать MaybeUninit<S> как слоты для хранения
В моём юзкейсе размеры T и U отличаются многократно, так что meh
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
источник