[swift-evolution] RFC: didset and willset

Chris Lattner clattner at apple.com
Fri May 20 12:39:26 CDT 2016


> On May 20, 2016, at 7:24 AM, Matthew Johnson <matthew at anandabits.com> wrote:
> 
>> On May 20, 2016, at 1:11 AM, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> 
>>>> On May 18, 2016, at 1:55 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
>>>> 
>>>> I may be wrong but I don't remember any other case of a keyword in
>>>> Swift composed of two or more words, so I believe these should be
>>>> exceptions.
>>> 
>>> `typealias` and `associatedtype` are the main examples; there were huge catfights on swift-evolution about whether the latter should be `associatedtype`, `associatedType`, or `associated_type`. There are also a number of attributes like `@noescape` and `@discardableResult`, which aren't 100% consistent.
>> 
>> Right, but the catfight had a clear outcome:
>> 
>> 1) keywords are conjoined
>> 2) attributes are lower camel cased.
>> 3) attributes should use “non” not “no”.  noescape should be nonescaping (and thus no camel bump).
> 
> Would you be in favor of a proposal that cleans all of this up at once and establishes this standard for all new features?  I don't mind the change and think consistency is a good idea, I just think it doesn't make sense to keep doing these as one-off changes.

I’d prefer one proposal to cover didset/willset and one to cover nonescaping (and any other nofoo attributes left).    They will raise different sorts of discussion, even though they both seem obvious to me.

-Chris


More information about the swift-evolution mailing list