Bump quick-xml to 0.37.0 and remove it from public APIs#332
Conversation
jonhoo
left a comment
There was a problem hiding this comment.
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.