[swift-evolution] RFC: didset and willset

Matthew Johnson matthew at anandabits.com
Fri May 20 13:13:33 CDT 2016


> On May 20, 2016, at 12:39 PM, Chris Lattner <clattner at apple.com> wrote:
> 
> 
>> 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.

Fair enough.  It just feels like it makes it more difficult to reach consistency that way (the discussions could have different outcomes) and consistency is the whole motivation behind these proposals.

> 
> -Chris



More information about the swift-evolution mailing list