Remove all clones and copies from serializations #234
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.
Summary of changes
Changes introduced in this pull request:
Sorry I was trying to wait to do this but it was starting to bug me. When serializing you don't need to clone or copy the data because all you need is a reference to that data. I want to change this so we stop using the cloning strategy as a standard.
This may seem like a small change, but this will definitely add up quickly with all of the data we will be serializing by removing unnecessary heap allocations and copies.
Unfortunately it requires an asymmetrical type for tuple types that are defined to be annotated, but changes nothing externally and is only slightly more verbose.
Reference issue to close (if applicable)
Closes
Other information and links