<div dir="ltr">For var [lazy] foo = 1738 how does the user or compiler know that foo, even though it’s an Int, it has a property called `lazy` on it. And what happens if that object type has a property named `lazy` already?</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">-Tal</div></div>
<br><div class="gmail_quote">On Wed, Jan 13, 2016 at 5:07 PM, Joe Groff via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks everyone for the first round of feedback on my behaviors proposal. I&#39;ve revised it with the following changes:<br>
<br>
- Instead of relying on mapping behaviors to function or type member lookup, I&#39;ve introduced a new purpose-built &#39;var behavior&#39; declaration, which declares the accessor and initializer requirements and provides the storage and behavior methods of the property. I think this gives a clearer design for authoring behaviors, and allows for a more efficient and flexible implementation model.<br>
- I&#39;ve backed off from trying to include &#39;let&#39; behaviors. As many of you noted, it&#39;s better to tackle immutable computed properties more holistically than to try to backdoor them in.<br>
- I suggest changing the declaration syntax to use a behavior to square brackets—&#39;var [behavior] foo&#39;—which avoids ambiguity with destructuring &#39;var&#39; bindings, and also works with future candidates for behavior decoration, particularly `subscript`.<br>
<br>
Here&#39;s the revised proposal:<br>
<br>
<a href="https://gist.github.com/jckarter/50b838e7f036fe85eaa3" rel="noreferrer" target="_blank">https://gist.github.com/jckarter/50b838e7f036fe85eaa3</a><br>
<br>
For reference, here&#39;s the previous iteration:<br>
<br>
<a href="https://gist.github.com/jckarter/f3d392cf183c6b2b2ac3" rel="noreferrer" target="_blank">https://gist.github.com/jckarter/f3d392cf183c6b2b2ac3</a><br>
<span class="im HOEnZb"><br>
Thanks for taking a look!<br>
<br>
-Joe<br>
</span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div>