[swift-evolution] What are the rules for including @ with attributes/keywords and the possibility of removing it

Brandon Knope bknope at me.com
Mon Jan 11 12:19:39 CST 2016


Ok thanks I’ll look into it! It may remove some confusion / unclarity for me

Brandon 

> On Jan 11, 2016, at 1:18 PM, Joe Groff <jgroff at apple.com> wrote:
> 
> 
>> On Jan 11, 2016, at 10:17 AM, Brandon Knope <bknope at me.com <mailto:bknope at me.com>> wrote:
>> 
>> 
>>> On Jan 11, 2016, at 1:14 PM, Joe Groff <jgroff at apple.com <mailto:jgroff at apple.com>> wrote:
>>> 
>>> 
>>>> On Jan 11, 2016, at 9:49 AM, Brandon Knope via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> 
>>>> @noescape
>>>> @autoclosure
>>>> 
>>>> Is there a particular reason why there is a @ prepending these attributes/keywords?
>>>> 
>>>> 
>>>> func test(@autoclosure test: () -> Bool) -> Void
>>>> 
>>>> vs.
>>>> 
>>>> func test(autoclosure test: () -> Bool) -> Void 
>>>> 
>>>> It seems cleaner/clearer without @ sprinkled everywhere, but what is the rationale behind needing the @ symbol?
>>> 
>>> Without the '@', you're declaring a parameter labeled 'autoclosure'.
>>> 
>>> -Joe
>>> 
>> 
>> What about “inout” then?
>> 
>> And duh! I completely forgot about parameter labels -_-
> 
> 'inout' is a special case, and we've reserved it as a keyword. There's a thread about moving 'inout' to eliminate this special case.
> 
> -Joe

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160111/0e1681ee/attachment.html>


More information about the swift-evolution mailing list