> On May 17, 2016, at 9:14 PM, Brent Royal-Gordon via swift-evolution > <swift-evolution@swift.org> wrote: > >> >> https://github.com/apple/swift-evolution/blob/master/proposals/0087-lazy-attribute.md > > The proposal says this at the beginning: > >> Swift's rule for attribues/keywords is that keywords usually modify type of >> variable; attributes do not. > > [citation needed] > > 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”. -Chris _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution