<div dir="ltr">Ok, I understand, thanks!</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 12, 2017 at 9:29 PM, John McCall <span dir="ltr">&lt;<a href="mailto:rjmccall@apple.com" target="_blank">rjmccall@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span class=""><blockquote type="cite"><div>On Jun 12, 2017, at 3:13 PM, Jens Persson &lt;<a href="mailto:jens@bitcycle.com" target="_blank">jens@bitcycle.com</a>&gt; wrote:</div><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 12, 2017 at 8:52 PM, John McCall <span dir="ltr">&lt;<a href="mailto:rjmccall@apple.com" target="_blank">rjmccall@apple.com</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span><div><br></div></span>We really do want to tie most of these features specifically to function calls.</div></div></blockquote><div><br></div><div><br></div><div>I&#39;m not sure if I understand what you mean. Do you mean that you really don&#39;t want these features to require changes to the type system?</div></div></div></div></div></blockquote><div><br></div></span>That&#39;s correct.  There&#39;s a lot of special structure to function calls — labels, overloading, default arguments, variadics, inout arguments, (eventually) borrowed arguments — that we do not want to introduce into the first-class tuple system, or at least not in the exact same way.  In some cases, like overloading or defaulted and inout arguments, it cannot be done without a major and unwanted model shift.  In other cases, like variadics, it could theoretically be done but would complicate the type system in ways we are trying to avoid.</div><div><br></div><div>Regardless, the existence of any call-specific structure at all implies that generic value forwarding cannot always be sufficient to do generic argument forwarding.  Maybe that&#39;s an argument for not having any call-specific structure, but we do have that and it&#39;s not going away.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>John.</div></font></span></div></blockquote></div><br></div>