<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="">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;"><span style="margin-top: 0px; margin-bottom: 0px;" class=""><div dir="auto" class=""><div class=""></div><div class=""><div class=""><br class=""></div><div 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=""></div><blockquote type="cite" style="margin: 15px 0px;" class=""><div style="margin-top: 0px; margin-bottom: 0px;" class=""><div 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=""><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=""><br class=""></div><div id="m_1279692938464163656AppleMailSignature" class="">Just to make sure:</div><div id="m_1279692938464163656AppleMailSignature" class=""><br class=""></div><div id="m_1279692938464163656AppleMailSignature" class="">let pair = (x: 3, y: 5)</div><div id="m_1279692938464163656AppleMailSignature" class="">Let swapped: (y: Int, x: Int) = pair</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">Error.</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">Why error here? In this case. It's not a label but he type.</div><br class=""><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="">Let (y: x1, x: y1) = pair</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">Error.</div><div class=""><br class=""></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="">Let (x: x2, y: y2) = pair</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">With the revised pitch that no longer prohibits all labels, x2 is 3 and y2 is 5. In the original version, error.</div><div class=""><br class=""></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="">Let (x3, y3) = pair</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">x3 is 3 and y3 is 5.</div><div class=""><br class=""></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="">After the change, What do (x_n, y_n) print and Which assignments are errors?</div><div id="m_1279692938464163656AppleMailSignature" class=""><br class="">Andre Videla </div></div></div></div><div class=""><div class=""><div class=""><div 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=""></div><blockquote type="cite" style="margin: 15px 0px;" class=""><div style="margin-top: 0px; margin-bottom: 0px;" class=""><div 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=""><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></span></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></body></html>