Enum generated FromStr improvements #537
Merged
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.
After using this, I realized a couple issues
from_str(s)?
reminded me()
as the error type forFromStr
is terrible since it doesn't implError
orDisplay
.Unknown
can have an infallibleFromStr
.from_str
and deserialization did not match.There's another question which doesn't need to be answered here around usage of
Unknown
as a fallback so that added enum variants are not a breaking change for parsing.The
openapi
code currently uses the completely unscientific value of12
variants for determining whenUnknown
should be inserted - there's probably an argument for usingUnknown
on smaller enums than that (or always, but that might start to hurt ergonomics for pretty stable enums).