add `From<GlobError> for io::Error` impl
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- rust
- Domain
- backend-api-design
Research direction
Start by locating GlobError and its existing error-formatting implementation, then compare it with the requested io::Error conversion in the issue. Verify that the conversion preserves the existing contextual message and that functions returning io::Error can use glob errors with ?. Confirm the relevant test suite passes.
Written by the indexing model from the issue text.
Description
The conversion I would suggest is:
impl From<GlobError> for io::Error {
fn from(err: GobError) -> io::Error {
io::Error::new(err.error.kind(), err)
}
}
This will keep the "pretty context" so that glob errors keep printing as:
"attempting to read `{}` resulted in an error: {}",
self.path.display(),
self.error
Which is already very ergonomic.
I can do this if you OK it 😄
Benefits / Justification
The glob error is already essentially an io::Error with a bit of additional context. This will allow functions that return io::Error can use glob with ? directly which incurs (basically) no performance issues.
- Dominant language
- Rust
- Stars
- 597
- Forks
- 97
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from rust-lang/glob
-
[1.0] Change `MatchOptions::default` to match `MatchOptions::new`Possibly taken @Dym03 claimed this 380 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 64/100
-
Difficulty 3/5 1-2 days Newbie friendliness 70/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
Similar issues
-
good first issue help wanted program
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
hffgzktbcc-blip/ounce-core#297 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
nautechsystems/nautilus_trader#5631 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
bytecodealliance/rustix#1736 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
longbridge/gpui-kit#3871 ·
Maintainers usually reply within 1 day
-
area:models enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day