Revert "Merge pull request #28665 from CodaFi/the-phantom-menace" #29237
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.
In #28665, @CodaFi tied CodingKeys synthesis to a new attribute and annotated the two declarations that should trigger synthesis with that attribute. This means that a modified compiler would not perform CodingKeys synthesis when used with an unmodified standard library, breaking source compatibility. That kind of change is not necessarily forbidden, but it needs to be carefully considered and staged in when it does happen.
This PR reverts #28665 for now. We should either land the change in three steps—first add support for the attribute, then annotate the standard library protocols with it, then drop support for standard libraries without the annotation—or tie the behavior to these protocols in a way that does not require standard library modifications.
This reverts commit 43a3ab7, reversing changes made to 4f39d9c. The revert was not clean because we've added other attributes since #28665 landed, so I want to run full tests before we merge it.
Fixes rdar://problem/58576551.