Assign to properties with explicit self in encode(to encoder: any Encoder) #698
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.
Motivation
The generated
encode(to encoder: any Encoder)assigns to properties without using explicit self. This is a problem because it can produce conflicts with the local variables created in the function, e.g. the encoding container, which will then fail to compile for schemas with properties namedcontainer, as found in #695.Modifications
encode(to encoder: any Encoder)Test Plan
@simonjbeaumont it seems to be working on my project with this change, sadly I didn't know what updates I should make for the snippet tests 😕. I you have any insight on this that would be helpful 🙏 .