SE-0230: Flatten nested optionals resulting from `try?`

  • What is your evaluation of the proposal?

+1. I'll be brief as I don't have a lot to add in support and participated in the discussion.

Users intuitively expect optional sugar features to work together in exactly the manner that is proposed. Further, I have never encountered a case where try? was used and this behavior is not desired. Lack of this feature reduces clarity in all code I have seen that uses try? and results in a double-optional.

  • Is the problem being addressed significant enough to warrant a change to Swift?

Yes. This is a small, but meaningful wart in Swift's optional sugar.

  • Does this proposal fit well with the feel and direction of Swift?

Yes.

  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

I have not used any other languages that have pervasive syntactic sugar for optionals.

  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

I participated quite a bit in the discussion threads and gave the final proposal a quick read.