<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 22, 2015, at 12:51 PM, Guillaume Lessard via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Hi,<br class=""><br class="">Regardless of anything else in the proposal, I strongly dislike its attempted subversion of `let` properties.<br class=""><br class="">struct A {<br class=""> let member = 1 // It’s done, over. If that’s not what you want, don’t initialize it here.<br class="">}<br class=""><br class=""></div></blockquote><div><br class=""></div><div>This is not an attempt to subvert `let` properties. The `= 1` in the declaration can <i class="">very reasonably</i> be viewed as a default value that should be used if the member is not otherwise initialized.</div><div><br class=""></div><div>Why would you have an immutable instance member that is always going to have a constant value of 1? That just wastes space by duplicating the constant value in many instances. However it is quite reasonable to have an immutable instance member that <b class="">defaults </b>to 1, but may have a different value depending on the initializer that is used for the instance.</div><div><br class=""></div><div>Matthew</div></div></body></html>