<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’m confused here. You’re referring to this example:</p>
<pre><code class="swift">let pair = (x: 3, y: 5)
let swapped: (y: Int, x: Int) = pair
</code></pre>
<p>In this case you’re shuffling/swapping the labels of the type from:</p>
<p><code>(x: Int, y: Int)</code> to <code>(y: Int, x: Int)</code>, which from my understanding of the whole pitch should be an error. The tuple types may look similar, but because the labels have a totally different order, I’d assume the types are different even if they share the same labels and types.</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_1493983534007591936" 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 13:12:31, David Hart (<a href="mailto:david@hartbit.com">david@hartbit.com</a>) schrieb:</p> <blockquote type="cite" class="clean_bq"><span><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div></div><div>
<title></title>
But we’re not reordering labels, we’re assigning to a different
variable which has different variable names. And I think it should
work because we are not using the restructuring syntax.
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 5 May 2017, at 12:11, Adrian Zubarev <<a href="mailto:adrian.zubarev@devandartist.com" class="">adrian.zubarev@devandartist.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="bloop_markdown" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);">
<p style="margin: 15px 0px; -webkit-margin-before: 0px;" class="">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.<span class="Apple-converted-space"> </span></p>
<div style="margin: 15px 0px;" class=""><br class="webkit-block-placeholder"></div>
</div>
<div class="bloop_original_html" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);">
<div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; margin: 0px;" class=""><br class=""></div>
<br class="">
<div id="bloop_sign_1493978995833683968" class="bloop_sign">
<div style="font-family: helvetica, arial; font-size: 13px;" class="">-- <br class="">
Adrian Zubarev<br class="">
Sent with Airmail</div>
</div>
<br class="">
<p class="airmail_on" style="margin: 15px 0px;">Am 5. Mai 2017 um
12:08:59, David Hart via swift-evolution (<a href="mailto:swift-evolution@swift.org" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">swift-evolution@swift.org</a>) schrieb:</p>
<blockquote type="cite" class="clean_bq" style="margin: 15px 0px;">
<div dir="auto" class="">
<div class=""></div>
<div class="">
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
On 5 May 2017, at 10:59, Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">swift-evolution@swift.org</a>> wrote:<br class="">
<br class=""></span></div>
<blockquote type="cite" style="margin: 15px 0px;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">On Fri, May 5, 2017 at 03:11 André Videla <<a href="mailto:andre.videla@gmail.com" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">andre.videla@gmail.com</a>> wrote:<br class=""></span>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class="">
<div class="">
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">Just to
make sure:</span></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">let
pair = (x: 3, y: 5)</span></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">Let
swapped: (y: Int, x: Int) = pair</span></div>
</div>
</div>
</div>
</blockquote>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">Error.</span></div>
</div>
</div>
</div>
</blockquote>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">Why error here? In this case. It's not a label but he
type.</span></div>
<span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span>
<blockquote type="cite" style="margin: 15px 0px;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class="">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class="">
<div class="">
<div id="m_1279692938464163656AppleMailSignature" class=""></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">Let (y:
x1, x: y1) = pair</span></div>
</div>
</div>
</div>
</blockquote>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">Error.</span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class="">
<div class="">
<div id="m_1279692938464163656AppleMailSignature" class=""></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">Let (x:
x2, y: y2) = pair</span></div>
</div>
</div>
</div>
</blockquote>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">With the revised pitch that no longer prohibits all
labels, x2 is 3 and y2 is 5. In the original version,
error.</span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class="">
<div class="">
<div id="m_1279692938464163656AppleMailSignature" class=""></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">Let
(x3, y3) = pair</span></div>
</div>
</div>
</div>
</blockquote>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">x3 is 3 and y3 is 5.</span></div>
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></span></div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">
<div style="margin-top: 0px;" class="">
<div class="">
<div class="">
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class="">After
the change, What do (x_n, y_n) print and Which assignments are
errors?</span></div>
<div id="m_1279692938464163656AppleMailSignature" class="">
<span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
Andre Videla </span></div>
</div>
</div>
</div>
<div class="">
<div class="">
<div class="">
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
On 5 May 2017, at 09:31, Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">swift-evolution@swift.org</a>> wrote:<br class="">
<br class=""></span></div>
<blockquote type="cite" style="margin: 15px 0px;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<div class=""><span style="margin-top: 0px; margin-bottom: 0px;" class="">On Fri, May 5, 2017 at 2:28 AM, Adrian Zubarev<span class="Apple-converted-space"> </span><span class=""><<a href="mailto:adrian.zubarev@devandartist.com" target="_blank" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">adrian.zubarev@devandartist.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""></span>
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">
<div style="margin-top: 0px; margin-bottom: 0px; word-wrap: break-word;" class="">
<div class="m_1279692938464163656m_-5555134904584300890bloop_markdown">
<p style="margin: 15px 0px;" class="">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 style="margin: 15px 0px; font-family: Menlo, Consolas, 'Liberation Mono', Courier, monospace; font-size: 10pt; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(204, 204, 204); overflow: auto; padding: 4px 8px; word-break: normal; word-wrap: normal;" class=""><code class="m_1279692938464163656m_-5555134904584300890swift" style="font-family: Menlo, Consolas, 'Liberation Mono', Courier, monospace; font-size: 10pt; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 0px; margin: 0px; padding: 0px; word-break: normal; word-wrap: normal;">// 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 style="margin: 15px 0px;" class="">Labels elsewhere are a
different story and I do support the cosmetic addition Chris
Lattner sketched out here:<span class="Apple-converted-space"> </span><a href="https://lists.swift.org/pipermail/swift-evolution-announce/2016-July/000233.html" target="_blank" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">https://lists.swift.org/pipermail/swift-evolution-announce/2016-July/000233.html</a></p>
<p style="margin: 15px 0px;" class="">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 style="margin: 15px 0px;" class="">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 class="">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 class="">
<div class="">
<div class="">
<blockquote type="cite" style="margin: 15px 0px;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<span class="">_______________________________________________</span></div>
</blockquote>
</div>
</div>
</div>
<div style="margin-bottom: 0px;" class="">
<div class="">
<div class="">
<blockquote type="cite" style="margin: 15px 0px;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<br class="">
<span class="">swift-evolution mailing list</span><br class="">
<span class=""><a href="mailto:swift-evolution@swift.org" target="_blank" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">swift-evolution@swift.org</a></span><br class="">
<span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class="">
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<blockquote type="cite" style="margin: 15px 0px;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">
<span class="">_______________________________________________</span><br class="">
<span class="">swift-evolution mailing list</span><br class="">
<span class=""><a href="mailto:swift-evolution@swift.org" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">swift-evolution@swift.org</a></span><br class="">
<span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class="">
</div>
</blockquote>
_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</div>
</div>
</blockquote>
</div>
<div class="bloop_markdown" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);">
</div>
</div>
</blockquote>
</div>
<br class=""></div>
</div></div></span></blockquote></div><div class="bloop_markdown"><p></p></div></body></html>