`Box<str>`. `Arc<str>` and `Rc<str>` should implement `AsRef<[u8]>`, `AsRef<Path>`, `AsRef<OsStr>`, and `FromStr`
Open
Nobody has claimed this yet.
A-inference
A-trait-system
C-feature-request
T-libs
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
The String and str type implements AsRef<str> and AsRef<[u8]>, AsRef<Path>, and AsRef<OsStr>.
Conversely, Box<str> implements only AsRef<str>.
This looks like a miss of opportunity.
Box<str> should also implement AsRef<[u8]>, AsRef<Path>, AsRef<OsStr>, and FromStr.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the standard-library implementations for String and str, then compare the existing trait coverage for Box, Arc, and Rc. The issue is done when the requested AsRef<[u8]>, AsRef, AsRef, and FromStr implementations are present for all three types and the relevant standard-library tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100