Fix property parsing when a property contains a struct #210
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.
Properties are parsed lazily by deserializing the data into an
IgnoredAny
and then returning the bytes that have been read.
We do parse structs as an enum in order to emit the struct tag as enum tag.
The
IgnoredAny
then deserializes a newtype enum variant, expecting a single item.The
VariantAccess
impl for the packstream deserializer would then only emit the next field in the struct, introducing the bug.The fix is to emit all fields when the list of items is from a struct and we are parsing properties.
Fixes #209