-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump quick-xml to 0.37.0 and remove it from public APIs #332
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great, thank you, and thanks for also filing a change to quick-xml
! I wonder whether we should wait for 0.37 for when your io::Error
-only change is present? I suppose with the type now gone from the public API, we should be able to transparently upgrade later anyway, so there's no huge reason to delay.
One question I have is whether we should be exposing io::Error
directly too, or whether we should introduce an opaque error type (say, inferno::Error
) that internally (for now) is just io::Error
), but that we could extend in the future if needed to contain other kinds of errors if we pick up dependencies that can't as easily be turned into io::Error
🤔 What do you think?
Also, would you mind updating CHANGELOG.md
?
Don't worry about the coverage job failing btw, it's a codecov problem, not a problem with your change. |
Looks like the |
d4215a4
to
8ce9bbd
Compare
It should be fine as the PR in
If we do, would that type have I'm willing to create a custom error if that's nicer. I would probably do it without |
0.37 is out already it seems! 🎉 For an opaque error, I was thinking it would be a What we're balancing here is how likely it is that we'd ever want custom errors in inferno, possibly from dependencies, that we don't want to coerce into |
208345f
to
ee60724
Compare
ee60724
to
d717b6b
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #332 +/- ##
==========================================
- Coverage 91.38% 91.37% -0.02%
==========================================
Files 20 20
Lines 4483 4440 -43
==========================================
- Hits 4097 4057 -40
+ Misses 386 383 -3 ☔ View full report in Codecov by Sentry. |
Must have happened today! I updated the title and bumped to 0.37. I'm still okay with creating a custom error if a decision gets made on it. |
(flamegraph has an inferno dependency, not fantoccini -- I think you got some crates confused? 😄) flamegraph immediately converts any inferno errors into (Note, I have been working for a few years on instant-xml as an alternative to quick-xml. Might be interesting for inferno, although it doesn't support everything inferno needs -- so far noticed that there's no support for pretty printing and its |
(that's what I get for bouncing through a bunch of issues in a short amount of time 😅 ) Okay, that sounds good. In that case, let's just stick with On Otherwise, just a heads up that I'll be on holiday for the next three weeks, so won't have a chance to land this until I get back :) But I'll approve the PR to make it clear that the intent is to land it + release as a new major version when I return! |
This addresses #325.
The
quick_xml::Writer
used in inferno can only ever returnstd::io::Error
but wrapped inquick_xml::Error
. To fix this a small helper function has been added to "unwrap" this io error and return that as the public API.I'm going to submit a PR to quick-xml to only give out
std::io::Error
from theirWriter
to make this behavior clear. There might be a good reason that I don't see.I'm happy to make any other changes, like making a custom Error type if that's nicer for the public API.