[swift-evolution] [swift-evolution-announce] [Review] SE-0087: Rename lazy to @lazy
clattner at apple.com
Wed May 18 00:03:48 CDT 2016
> On May 17, 2016, at 9:14 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
> The proposal says this at the beginning:
>> Swift's rule for attribues/keywords is that keywords usually modify type of variable; attributes do not.
> 
> As far as I can tell, this is not true at all. Most declaration modifiers do *not* change the type of anything; as far as I can tell, only `mutating`, `nonmutating`, and possibly `optional` do. Meanwhile, several attributes—particularly `@noescape` and `@autoclosure`—*do* change the type. So where is this belief coming from?
Correct - the proposal is incorrect in this claim. Swift's typical policy is that attributes do *not* modify the type of the declaration, which is why Swift 1 and 2 have used “lazy” instead of “@lazy”.
More information about the swift-evolution