Replace EBML parsing error code (u8) with error enum #101
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 is a suggestion to make the EBML errors better. Feel free to change things or just let me know what you think.
Changes:
ebml::EbmlError
enum to represent errors instead of u8 error codes.custom_error
return anom:Err
(specifically, the recoverableError
variant) wrapped around theebml::Error
instead of just theebml::Error
. This simplifies the function calls.I thought about
#[repr(u8)]
for the new enum, but realistically the enclosingebml::Error
struct will be padded anyways, so it probably doesn't matter if the enum is represented as a u16 or even larger in the future.I'm not sure about the actual error codes. If the numerical values are supposed to be expressive, it would make sense to think of some kind of numbering scheme for the error codes before merging. Otherwise, the numerical values can (IMO) just be removed.