Improve error handling ergonomics for call #39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change I think it improves the ergonomics of handling custom errors significantly.
From the tests you can see that it's fairly unintrusive overall, it eliminates the need for lots of
.map_err(|e| e.into())
s and eliminates the need for downcasting theError::Other
variant, as well as consolidatingError::Rusqlite
andError::Other
intoError::Error
which is generic.In particular look at
test_ergonomic_errors
to see how it improves error ergonomics.I understand if it's too big of a change though.