<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 Feb 3, 2016, at 4:16, Tino Heth via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">+1</div><div class="">It's better than the current form — but imho there is alternative that is worth being discussed:</div><div class=""><br class=""></div><div class=""><span style="color: rgb(153, 0, 0); font-family: monospace; font-size: 18px; font-weight: bold; white-space: pre; background-color: rgb(248, 248, 248);" class="">(inout T)</span>&nbsp;is a type on its own, right? (I guess although everyone seems to avoid the word, it is actually implemented as a pointer ;-)</div></div></div></blockquote><br class=""></div><div>(inout T) is not a type on its own*, and it is not equivalent to a pointer. If it were, you could have local variables of type "inout T", and you wouldn't be able to use computed properties with inout.</div><div><br class=""></div><div>* The compiler represents "inout T" as a distinct type, but it also represents "lvalue T" and "weak T" and "generic T without any bound generic arguments" as types, so it's not really relevant here.</div><div><br class=""></div><div>Jordan</div><br class=""></body></html>