rc-hashmap 0.1.0

A HashMap with reference-counted key-value entries.
Documentation
# Changelog

## 0.1.0 (2025-11-12)


### Features

* add accessors and iterators to CountedHashMap ([37d9e78]https://github.com/yonch/rc-hashmap/commit/37d9e784c76d6be35fc60ed20fbd6013333d4135)
* add DebugReentrancy to check re-entrancy contraints ([607153d]https://github.com/yonch/rc-hashmap/commit/607153d3ffb87b9611af76c570e948e2779f4dd0)
* add default hash selection, switch to wyhash ([f4b6dab]https://github.com/yonch/rc-hashmap/commit/f4b6dabb3e8b0b6226c1cf2409527aca2876d458)
* add find<Q>(); make CountedHashMap::put take &mut self ([56f19d1]https://github.com/yonch/rc-hashmap/commit/56f19d14a70ebba429ce1dc3410b48d33c0c701f)
* add insert_with() in lower_level, simplifies RcHashMap::insert() ([0350dc9]https://github.com/yonch/rc-hashmap/commit/0350dc9c03dc30fa245db82144a1e89a2ab29a2f)
* add ManualRc to increment/decrement Rc strong counts ([8da7998]https://github.com/yonch/rc-hashmap/commit/8da79985a4b821038d7149a76d8106992163cf83)
* add RcHashMap ([40b1d5e]https://github.com/yonch/rc-hashmap/commit/40b1d5e146d8f2bbcaf5f300fcb5f175c7e2f07e)
* **CountedHashMap:** implement concrete iterators ([f406e7f]https://github.com/yonch/rc-hashmap/commit/f406e7f42940d72e4eae1dde5674b36f7581fc0e)
* **HandleHashMap:** add concrete iterator types ([0cf9d1e]https://github.com/yonch/rc-hashmap/commit/0cf9d1e0b4bd0b3a5b520def9689b4ccc15ced47)
* implement iterators and Ref accessors ([4174458]https://github.com/yonch/rc-hashmap/commit/4174458c138c1926c993c9499ee14c10b24a037d)
* **RcHashMap:** simplify owner comparison ([bd9c693]https://github.com/yonch/rc-hashmap/commit/bd9c69333bfb203c0f83ce0d3e9a984378bb35a2)
* **RcHashMap:** use ManuallyDrop in Ref to tighten error handling ([3cdc85a]https://github.com/yonch/rc-hashmap/commit/3cdc85a3fe427268d99627a4ae8d7a4fb3bbc11f)
* return 'static CountedHandle; reduce unsafe ([4d0dd1e]https://github.com/yonch/rc-hashmap/commit/4d0dd1e5f6481f623fff008dce8336fac82c0b96)
* use more intuitive method and accessors names ([5e4a9b3]https://github.com/yonch/rc-hashmap/commit/5e4a9b3eb18a90e21b7e91380bfcf54643e2bfc2)


### Bug Fixes

* add mutable annotations in benchmark ([8ff4a64]https://github.com/yonch/rc-hashmap/commit/8ff4a6406a48d35731775a1612e0567a69ccb165)
* **benchmark:** add stricter checks that values exist in access benchmarks ([09de487]https://github.com/yonch/rc-hashmap/commit/09de487f0b7a904fedf84bac016a21beb2dc7c8f)
* CountedHashMap and RcHashMap issues ([53ab8ac]https://github.com/yonch/rc-hashmap/commit/53ab8ac7548daa621c2aeaf195e59bfa540e574d)
* iai benchmarks ([c3c1cdc]https://github.com/yonch/rc-hashmap/commit/c3c1cdc115fc5347242a406a3fad12c4324185c8)
* panic on stale handles in put ([ea94b80]https://github.com/yonch/rc-hashmap/commit/ea94b80f18083edc9d426ff8a6e9e730475acc71)


### Performance Improvements

* add iai benchmarks for access through refs and iter ([bb2a107]https://github.com/yonch/rc-hashmap/commit/bb2a107d07ea25bba29e0f29cc299407ccc28c08)
* add iai-based benchmarks ([6e961cf]https://github.com/yonch/rc-hashmap/commit/6e961cfd92489b56a51acd036f9ea59b4b46c3be)
* do not measure setup in iai benchmarks, add some mesaured ops ([3c038a1]https://github.com/yonch/rc-hashmap/commit/3c038a1ed8d39e74e3863c726a8eb0c300bda89d)
* enable HandleHashMap benchmarks by default ([ae6758d]https://github.com/yonch/rc-hashmap/commit/ae6758d47632620b87f3fad42b00240200426d0b)
* expand criterion benchmark, replace iai, add CountedHashMap bench ([5a1f49e]https://github.com/yonch/rc-hashmap/commit/5a1f49e0be8115940448b2b08d3b5e0a5d5137a0)
* fix remove benchmarks to not reorder chosen indices ([5840005]https://github.com/yonch/rc-hashmap/commit/5840005fb28c0ed8765c193349bc803e008f077d)
* increase benchmark sample size for less noise ([76abc09]https://github.com/yonch/rc-hashmap/commit/76abc096214863bf5293856c5fcf92e0a1216a5c)
* migrate benchmarks to criterion 0.7 ([665d21c]https://github.com/yonch/rc-hashmap/commit/665d21c3ba483045dc3da4ed9f39ec185b3d2840)
* optimize insert happy path ([b847be3]https://github.com/yonch/rc-hashmap/commit/b847be3eb814f5dac6f10e5aa4ff1e3b4ed2aff0)
* output throughput in benchmarks ([9ffecf1]https://github.com/yonch/rc-hashmap/commit/9ffecf1ebc872396ec1bed3aa805b80b5fca98b4)
* pre-compute benchmark random access lists ([305a412]https://github.com/yonch/rc-hashmap/commit/305a41269968769a934bdd7a611547e831c255db)
* standardize iai benchmarks on 1000 ops ([30a5a22]https://github.com/yonch/rc-hashmap/commit/30a5a2250d9e2936f3ccde8c830d93ebdcd2744b)
* standardize on rand_pcg for benchmark pseudo-random generation ([431b622]https://github.com/yonch/rc-hashmap/commit/431b62224ed90e1bde0c4eb581b5ec75d9ab4cc3)