-
Notifications
You must be signed in to change notification settings - Fork 145
Bump quick-xml to 0.37.0 and remove it from public APIs #332
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
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. 🚨 Try these New Features:
|
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! |
|
Release happening in #335 |
This addresses #325.
The
quick_xml::Writerused in inferno can only ever returnstd::io::Errorbut 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::Errorfrom theirWriterto 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.