A more lightweight, informative error value in TryFrom<i32>
for enums
#1010
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.
DecodeError
as the error type of the generatedTryFrom<i32>
conversions for enum values is problematic:DecodeError
value makes an allocation even with a static message.format!
in the conversion impls, but that'll cost another allocation).Add a new
UnknownEnumValue
error type toprost
.Change the
TryFrom<i32>
conversions generated for enums to use that as the associatedError
type.The error value carries the original integer as the public inner member.
As this is a breaking change, it's not meant for 0.12, but for a future version.