The identifier after a colon is *never* a type in any pattern matching, and there&#39;s no need of which I&#39;m aware to support type annotations in pattern matching. We put colons after labels, and the current syntax is perfectly consistent here. What is the defect you&#39;re trying to cure?<br><div class="gmail_quote"><div dir="ltr">On Fri, May 5, 2017 at 22:42 Brent Royal-Gordon &lt;<a href="mailto:brent@architechies.com">brent@architechies.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Sorry for wrecking the threading, but any chance we could change the syntax to:</div><div id="m_-3232670085674611244AppleMailSignature"><br></div><div id="m_-3232670085674611244AppleMailSignature">let (x myX: Int, y myY: Int) = ...</div><div id="m_-3232670085674611244AppleMailSignature"><br></div><div id="m_-3232670085674611244AppleMailSignature">That would ensure the identifier after the colon was always treated as a type. I suppose if you wanted to infer the type, it&#39;d be:</div><div id="m_-3232670085674611244AppleMailSignature"><br></div><div id="m_-3232670085674611244AppleMailSignature"><span style="background-color:rgba(255,255,255,0)">let (x myX, y myY) = ...</span><br><br><div>-- </div><div>Brent Royal-Gordon</div>Sent from my iPhone</div></div><div dir="auto"><div><br>On May 5, 2017, at 12:04 AM, Adrian Zubarev via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div>If we ban reordering now, than I don’t see choosing different names in tuple destructuring as a strong argument of allowing labels there <code>let (x: a, y: b)</code>. They’re literally the same as one would write comments inside the destructured tuple <code>let (/* my x */ x, /* my y*/ y)</code>.</div></blockquote></div></blockquote></div>