Fail or warn on duplicated key during generation #841
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.
Because both strings and symbols keys are serialized the same, it always has been possible to generate documents with duplicated keys:
This is pretty much always a mistake and can cause various issues because it's not guaranteed how various JSON parsers will handle this.
Until now I didn't think it was possible to catch such case without tanking performance, hence why I only made the parser more strict.
But I finally found a way to check for duplicated keys cheaply enough.