I think this strikes at the core of my discomfort with this proposal. Thank you for articulating all that, @hisekaldma. Historically, we've reserved protocol requirement synthesis for only those which have such "obviously correct" implementations. This philosophy guided the synthesis of Equatable
and Hashable
implementations, and precluded the inclusion of other protocols like AdditiveArithmetic
and Comparable
. I'm wary about including synthesis for implementations that have the goal of "just do it some way, doesn't matter which."
IMO, such synthesized implementations are better suited for a more generalized synthesis feature that would allow authors to specify exactly how a conformance should be derived (discussed some here for AdditiveArithmetic
, but the ideas are more general than that one protocol, and have cropped up in other threads over the years).