[swift-evolution] [swift-evolution-announce] [Review] SE-0049 Move @noescape and @autoclosure to be type attributes

Brent Royal-Gordon brent at architechies.com
Tue Mar 29 22:13:43 CDT 2016

> https://github.com/apple/swift-evolution/blob/master/proposals/0049-noescape-autoclosure-type-attrs.md

> 	• What is your evaluation of the proposal?

I am enthusiastically in favor for @noescape. I am also in favor for @autoclosure.

However, I think there is a larger issue here. In several recent attribute discussions—particularly around @autounwrapped and @discardable—options have been discarded at least partially because the attributes didn't make sense as decorations on a property or return value's type, and yet there was no way to decorate the value itself.

@noescape and @autoclosure *do* make sense as attributes decorating a type, and they should be changed to do that. But make no mistake: the concept of attributes on parameters and return values *is* still needed, because already today it is preventing us from adopting excellent designs.

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

Yes. Unutterable types are a big problem.

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


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

I don't think I have relevant experience.

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

Read the proposal and participated in discussion.

Brent Royal-Gordon

More information about the swift-evolution mailing list