<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="">On Jun 5, 2016, at 8:24 PM, T.J. Usiyan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<div><blockquote type="cite" class=""><div class=""><div dir="ltr" class="">Sub typing is the answer that we're going with then?<br class=""></div></div></blockquote><div><br class=""></div><div>Most likely. &nbsp;At this point, we’re not really accepting additive changes to Swift 3 anyway, so any proposal would need to wait until post-swift 3 in any case. &nbsp;</div><div><br class=""></div><div>Plans for releases beyond Swift 3 haven’t been made yet - the metaplan is to come up with a plan in ~August timeframe.</div><div><br class=""></div><div>-Chris</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">On Sat, Jun 4, 2016 at 4:26 PM, T.J. Usiyan <span dir="ltr" class="">&lt;<a href="mailto:griotspeak@gmail.com" target="_blank" class="">griotspeak@gmail.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><span class=""><span style="font-size:13px" class="">It could be a more general solution. I am unclear about what 'subtype relationships' means here though.</span><div style="font-size:13px" class=""><br class=""></div><div style="font-size:13px" class="">Are you talking a about what you allude to here?&nbsp;<a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151130/000525.html" target="_blank" class="">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151130/000525.html</a>&nbsp;</div><div style="font-size:13px" class=""><br class=""></div><div style="font-size:13px" class="">The benefit of explicitly narrowing, in my opinion, is that there is no unnecessary cost to figuring out lookup. (Please correct me if I am mistaken.) Implicit promotions introduce uncertainty with regard to what a value is being treated as in any given moment. This uncertainty is worth it in many cases but I will suggest that it is not worth it when trying to deal with a narrower set of cases from an already established set. For example, in the graph/lattice situation, conversions must be written because there is no reasonable conversion that can be assumed. In this proposal, the conversion is obvious and trivial because the relationship is completely clear.</div><div style="font-size:13px" class=""><br class=""></div><div style="font-size:13px" class="">All of that said, I *am* unclear about what subtype relationships means so it may very well be a better solution. It certainly sounds like a more general solution but I am not convinced that that is an advantage when trying to deal with a strict subset.</div><div class="gmail_extra"><br class=""></div></span><div class="gmail_extra"><span class="HOEnZb"><font color="#888888" class="">TJ<br class=""></font></span><div class="gmail_quote"><span class="">On Sat, Jun 4, 2016 at 1:25 AM, Chris Lattner <span dir="ltr" class="">&lt;<a href="mailto:clattner@apple.com" target="_blank" class="">clattner@apple.com</a>&gt;</span> wrote:<br class=""></span><div class=""><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><span class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jun 3, 2016, at 2:35 PM, T.J. Usiyan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class=""><div class=""><div dir="ltr" class="">Since this seems to have some interest, I've made a gist.<div class=""><br class=""></div><div class=""><a href="https://gist.github.com/griotspeak/963bc87a0c244c120264b11fb022d78c" target="_blank" class="">https://gist.github.com/griotspeak/963bc87a0c244c120264b11fb022d78c</a></div></div></div></blockquote><br class=""></div></span><div class="">We have frequently discussed introducing subtype relationships between structs and enums, in an effort to allow limited implicit promotions (e.g. from small integers to wider integers).&nbsp; Wouldn’t that be a more general solution to this same problem?</div><span class=""><font color="#888888" class=""><div class=""><br class=""></div><div class="">-Chris</div><br class=""></font></span></div></blockquote></div></div></div><br class=""></div></div>
</blockquote></div><br class=""></div></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>