jonhoo / jonhoo/griddle

Implement missing APIs

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.