Похожие чаты

Anyone familiar with unsafe Rust? I'm writing a simple container type

as an internal storage for another type. It is something like Vec, but stores 3 different internal arrays (within one buffer), and it has limited list of operations that it supports.

I wonder if I made it correctly, and it can be safely used.

https://github.com/gameraccoon/sparse_set_container/blob/manual-memory-management/src/storage.rs

It looks sound to me, but I may have missed something obvious

3 ответов

31 просмотр

the naming is quite confusing(I generally implement is with index and data arrays rather than dense and sparse arrays, having dense array in sparse storage just feels confusing) for me But otherwise at a glance it seems fine you could write tests or borrow some tests from comparable libraries and try those.

Only Why start the start_ptr's out as dangling? Why not null_mut like the buffer ptr?

Pavel- Автор вопроса
Thomas
Only Why start the start_ptr's out as dangling? Wh...

Slices require a properly aligned pointer even when the size is empty, so to avoid explicit zero checks I had to use "dangling" which would provide such an aligned pointer. For buffer there's no requirements, so I just left it null

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
8
Anyone else having this error when trying to make transactions?
Datzel
11
Question: How viable is it to use Anvil as the backend infrastructure for managing a TradFi portfolio, while integrating Flexa for instant liquidity and payment solutions? Cou...
Kevin
2
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта