The proposal was received positively, and removes boilerplate code for many common cases.
Concern was raised by some reviewers regarding the implicit reliance on source ordering to synthesize the conformance. The core team feels this behavior is justified based on several factors:
- other features currently expose source ordering for enums (
<implementations on enums can easily be written in a way where adding new cases may not break compilation; comparable conformance must always be considered when adding cases even today.
- conforming a type to a protocol requires an understanding of what that conformance means and how it is being fulfilled. "It compiles" is never enough.
Much of the review was occupied with discussion of adding support for structs and raw-representable enums. The core team would welcome further pitches weighing the pros and cons of these additions.