Adds support for the default attr to tuple variants in enums. #1442
+8
−1
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 allows the following to work:
DOM::Text("...", HashMap::new())
becomes encoded as an adjacently tagged enum tuple variant, but because of the skip_serializing_if parameter we may omit the second field of the variant when serializing, if the condition is true. When deserializing, at the moment, serde complains that it was expecting a tuple of two types, but found 1. The new behavior after this PR is if thedefault
attr was used, Default::default() (or a program-supplied method) is called to populate that value.This survives the round trip for me with both
serde_json
andron
.