rust-lang / rust-lang/hashbrown

Consider extracting RawTable into a separate crate

Open
#424 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
3k
Forks
359
Avg merge
11h 57m
Merged PRs (30d)
2

Description

There are two issues with RawTable being in hashbrown crate:

  • extra "feature" in hashbrown crate makes it slightly harder to use (for both crate authors and for users)
  • unnecessary HashMap type in all crates namespaces

About the latter.

We use RawTable heavily, but we don't use hashbrown::HashMap (because it is virtually identical to std). But when doing code completion, hashbrown::HashMap often pops up instead of std::collections::HashMap. And once in a while it even accidentally slips into committed code.

Extracting RawTable in a separate crate would solve this issue.

This is not a big deal, feel free to close the issue if this is not right.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue concerns extracting RawTable from the hashbrown crate into a separate crate. Start by locating RawTable and its feature definitions, then trace the crates and namespaces that depend on it. Done means the extraction resolves the stated feature and HashMap namespace concerns without breaking existing consumers.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.