Fix incorrect test for 580 and get rid of allocations in hot path #662
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.
The first commit fixes the mistake I made when fixing #580, that becomes obvious after some refactoring that coming soon for #567.
Deserialization should consume something from deserializer, otherwise an infinity cycle is possible. That is the reason why fixed
SeqItemDeserializer::deserialize_newtype_struct
takenSimpleTypeDeserializer
instead ofself
. But when I realized that the problem in the test itself, it become obvious that it should takeself
, as it does indeserialize_option
, for example.Next commits fixes some pinholes and removes allocation on a hot path. It is expected that XML can have many elements and allocating an array just to read one
End
event after deserializing it is an overkill.