<html><head><style>
body {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        padding:1em;
        margin:auto;
        background:#fefefe;
}
h1, h2, h3, h4, h5, h6 {
        font-weight: bold;
}
h1 {
        color: #000000;
        font-size: 28pt;
}
h2 {
        border-bottom: 1px solid #CCCCCC;
        color: #000000;
        font-size: 24px;
}
h3 {
        font-size: 18px;
}
h4 {
        font-size: 16px;
}
h5 {
        font-size: 14px;
}
h6 {
        color: #777777;
        background-color: inherit;
        font-size: 14px;
}
hr {
        height: 0.2em;
        border: 0;
        color: #CCCCCC;
        background-color: #CCCCCC;
display: inherit;
}
p, blockquote, ul, ol, dl, li, table, pre {
        margin: 15px 0;
}
a, a:visited {
        color: #4183C4;
        background-color: inherit;
        text-decoration: none;
}
#message {
        border-radius: 6px;
        border: 1px solid #ccc;
        display:block;
        width:100%;
        height:60px;
        margin:6px 0px;
}
button, #ws {
        font-size: 12 pt;
        padding: 4px 6px;
        border-radius: 5px;
        border: 1px solid #bbb;
        background-color: #eee;
}
code, pre, #ws, #message {
        font-family: Monaco;
        font-size: 10pt;
        border-radius: 3px;
        background-color: #F8F8F8;
        color: inherit;
}
code {
        border: 1px solid #EAEAEA;
        margin: 0 2px;
        padding: 0 5px;
}
pre {
        border: 1px solid #CCCCCC;
        overflow: auto;
        padding: 4px 8px;
}
pre > code {
        border: 0;
        margin: 0;
        padding: 0;
}
#ws { background-color: #f8f8f8; }
.bloop_markdown table {
border-collapse: collapse;
font-family: Helvetica, arial, freesans, clean, sans-serif;
color: rgb(51, 51, 51);
font-size: 15px; line-height: 25px;
padding: 0; }
.bloop_markdown table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0; }
.bloop_markdown table tr:nth-child(2n) {
background-color: #f8f8f8; }
.bloop_markdown table tr th {
font-weight: bold;
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
.bloop_markdown table tr td {
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
.bloop_markdown table tr th :first-child, table tr td :first-child {
margin-top: 0; }
.bloop_markdown table tr th :last-child, table tr td :last-child {
margin-bottom: 0; }
.bloop_markdown blockquote{
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777; }
blockquote > :first-child {
margin-top: 0; }
blockquote > :last-child {
margin-bottom: 0; }
code, pre, #ws, #message {
word-break: normal;
word-wrap: normal;
}
hr {
display: inherit;
}
.bloop_markdown :first-child {
-webkit-margin-before: 0;
}
code, pre, #ws, #message {
font-family: Menlo, Consolas, Liberation Mono, Courier, monospace;
}
.send { color:#77bb77; }
.server { color:#7799bb; }
.error { color:#AA0000; }</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="bloop_markdown"><p>I would assume the error is correct, because if we ban reordering than labeled tuple types will become incompatible if the labels are swapped, remember the strict order or labels. </p>
<p></p></div><div class="bloop_original_html"><style>body{font-family:Helvetica,Arial;font-size:13px}</style><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div> <br> <div id="bloop_sign_1493978995833683968" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">-- <br>Adrian Zubarev<br>Sent with Airmail</div></div> <br><p class="airmail_on">Am 5. Mai 2017 um 12:08:59, David Hart via swift-evolution (<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>) schrieb:</p> <blockquote type="cite" class="clean_bq"><span><div dir="auto"><div></div><div>
<title></title>
<div><br></div>
<div><br>
On 5 May 2017, at 10:59, Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>>
wrote:<br>
<br></div>
<blockquote type="cite">
<div>
<div>On Fri, May 5, 2017 at 03:11 André Videla <<a href="mailto:andre.videla@gmail.com">andre.videla@gmail.com</a>>
wrote:<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div>
<div><br></div>
<div id="m_1279692938464163656AppleMailSignature">Just to make
sure:</div>
<div id="m_1279692938464163656AppleMailSignature"><br></div>
<div id="m_1279692938464163656AppleMailSignature">let pair = (x: 3,
y: 5)</div>
<div id="m_1279692938464163656AppleMailSignature">Let swapped: (y:
Int, x: Int) = pair</div>
</div>
</div>
</div>
</blockquote>
<div><br></div>
<div>Error.</div>
</div>
</div>
</div>
</blockquote>
<div><br></div>
<div>Why error here? In this case. It's not a label but he
type.</div>
<br>
<blockquote type="cite">
<div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div>
<div id="m_1279692938464163656AppleMailSignature"></div>
<div id="m_1279692938464163656AppleMailSignature">Let (y: x1, x:
y1) = pair</div>
</div>
</div>
</div>
</blockquote>
<div><br></div>
<div>Error.</div>
<div><br></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div>
<div id="m_1279692938464163656AppleMailSignature"></div>
<div id="m_1279692938464163656AppleMailSignature">Let (x: x2, y:
y2) = pair</div>
</div>
</div>
</div>
</blockquote>
<div><br></div>
<div>With the revised pitch that no longer prohibits all labels, x2
is 3 and y2 is 5. In the original version, error.</div>
<div><br></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div>
<div id="m_1279692938464163656AppleMailSignature"></div>
<div id="m_1279692938464163656AppleMailSignature">Let (x3, y3) =
pair</div>
</div>
</div>
</div>
</blockquote>
<div><br></div>
<div>x3 is 3 and y3 is 5.</div>
<div><br></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div>
<div id="m_1279692938464163656AppleMailSignature">After the change,
What do (x_n, y_n) print and Which assignments are errors?</div>
<div id="m_1279692938464163656AppleMailSignature"><br>
Andre Videla </div>
</div>
</div>
</div>
<div>
<div>
<div>
<div><br>
On 5 May 2017, at 09:31, Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br>
<br></div>
<blockquote type="cite">
<div>
<div>On Fri, May 5, 2017 at 2:28 AM, Adrian Zubarev
<span><<a href="mailto:adrian.zubarev@devandartist.com" target="_blank">adrian.zubarev@devandartist.com</a>></span>
wrote:<br>
<div class="gmail_extra">
<div class="gmail_quote">
<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 class="m_1279692938464163656m_-5555134904584300890bloop_markdown">
<p>I’m not arguing to remove all labels in Swift. Labels are great,
this is a fact for sure. The point I was trying to make is that
labels in tuples how either a meaning or not at all.</p>
<pre><code class="m_1279692938464163656m_-5555134904584300890swift">// This is a shortcut for the tuple type `(x: Int, y: Int)`
let foo = (x: 0, y: 0)
// In this case the labels are only used for description,
// they do not server any benefit here are most likely redundant
let (x: x, y: y) = foo
</code></pre>
<p>Labels elsewhere are a different story and I do support the
cosmetic addition Chris Lattner sketched out here: <a href="https://lists.swift.org/pipermail/swift-evolution-announce/2016-July/000233.html" target="_blank">https://lists.swift.org/pipermail/swift-evolution-announce/2016-July/000233.html</a></p>
<p>However this is about closures and not tuples, I don’t think
this would anyhow affect the removal of labels in tuple
destructuring.</p>
<p>Plus I don’t see this to create an inconsistent in Swift,
because as I already said, labels in tuple destructuring are
useless.</p>
</div>
</div>
</blockquote>
<div>How come? I just illustrated their use. They help humans write
correct code by allowing the compiler to check an assertion that
the human knows which labels go with which positions in the
tuple.</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<div>
<div>
<div>
<blockquote type="cite">
<div>
<span>_______________________________________________</span></div>
</blockquote>
</div>
</div>
</div>
<div>
<div>
<div>
<blockquote type="cite">
<div><br>
<span>swift-evolution mailing list</span><br>
<span><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a></span><br>
<span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div>
<span>_______________________________________________</span><br>
<span>swift-evolution mailing list</span><br>
<span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br>
<span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br>
</div>
</blockquote>
_______________________________________________<br>swift-evolution mailing list<br>swift-evolution@swift.org<br>https://lists.swift.org/mailman/listinfo/swift-evolution<br></div></div></span></blockquote></div><div class="bloop_markdown"><p></p></div></body></html>