Special Case Protocol Conformance: Long-term Tradeoffs for Near-term Conformance

For the edification of the unaware, what are those weird problems?

1 Like

See the discussion, here, which speaks to the question at a high-level.

In short, the discussion goes, Optional has been made into a nominal type for the convenience of being able to conform to protocols and perhaps to achieve other benefits, but, since it is so inherently structural in nature, the compiler includes a lot of special-case handling for Optional.

In that thread, in 2017, I believe @Douglas_Gregor, indicated a desire to change Optional from a nominal type to a structural type. Is that change still possible? If so, is it still something that is hoped for?

1 Like