<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 Jan 29, 2016, at 3:04 PM, Charles Kissinger &lt;<a href="mailto:crk@akkyra.com" class="">crk@akkyra.com</a>&gt; wrote:</div><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">The related idea of replacing ‘&amp;’ with ‘inout’ at the call site seems completely contradictory to this proposal. Developers would then have to remember that the ‘inout’ goes before the argument at the call site but after it in the function definition. That seems like a constant source of mis-typings and something that would be viewed as an inconsistency in the language. Or do people want to put it after the argument name at the call site too? It seems a little like change just for the sake of change, IMO.<br class=""></div></div></div></blockquote><br class=""></div><div>If you have a function</div><div><br class=""></div><div><font face="Menlo" class="">f(x: Int) {}</font></div><div><br class=""></div><div>you call it with f(8), and potentially f(x: 8). Even when labeled, the 8 value is to the right of the colon.</div><div><br class=""></div><div>Now consider</div><div><br class=""></div><div><font face="Menlo" class="">f(x: inout Int) {}</font></div><div><br class=""></div><div>you call it with f(&amp;y) or f(inout y), and with a label, you'd call it f(x: &amp;y) or f(x: inout y).</div><div><br class=""></div><div>It seems &nbsp;consistent to me.</div><br class=""></body></html>