update hashbrown to v0.15
hashbrown removed the RawTable API, requiring dashmap to use HashTable instead. This was the API I wanted dashmap 6 to use initially as the shards being RawTable means unsafe is often necessary.
Due to needing some more RwLock mapping support when it comes to HashTable iterators and such, I designed the RwLockReadGuardDetached which cleans up a fair amount of pointer shenanigans around the codebase.
In the process, I also decided to remove all the unsafe impl Send and make the RawRwLock guard be Send instead, as it seemingly is intended to be.
miri with both stacked and tree borrows seem happy still, and there's a lot less unsafe in the process.
This PR should be split up - #10 is no longer valid and thus I have removed the SharedValue abstraction as well.
cargo-audit now raises a warning for [email protected] https://github.com/rust-lang/hashbrown/issues/576 . Any plans for this PR?
(Note that hashbrown/borsh is irrelevant to dashmap though, and probably most hashbrown users in general.)
Superceded by #324