Implement missing APIs
- Dominant language
- Rust
- Stars
- 198
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
For the initial prototyping, a number of APIs were left out. These should be added back in (ordered roughly in order of difficulty):
- [x] `Entry` API\
- [x] `OccupiedEntry::replace_*`
- [x] `serde` and `rayon` support
- [ ] `RawEntry` API
- [ ] The `Drain` iterators
- [x] The `reserve` and `shrink` methods (and their siblings)
- [x] Support for the `Extend` trait
- [x] `HashSet`
In general, doing a diff between `src/map.rs` and [`hashbrown/src/map.rs`](https://github.com/rust-lang/hashbrown/blob/master/src/map.rs) should get you quite far. Remember to also add the corresponding tests!
Contributor guide
No contributing guide indexed for this repository
Research direction
Compare src/map.rs with hashbrown/src/map.rs, focusing first on the unchecked RawEntry API and Drain iterators. Read the existing map tests and add corresponding coverage for each implemented API. Done means both unchecked checklist items are supported consistently with the reference implementation and their tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100