<div>In Swift, all types and all operators are implemented in the standard library. How do you express the idea that, when you add values of disparate types T and U, the result should be of the type with greater precision? You need to be able to spell this somehow.</div><div><br></div><div><br><div class="gmail_quote"><div>On Sat, Jun 17, 2017 at 22:39 David Sweeris &lt;<a href="mailto:davesweeris@mac.com">davesweeris@mac.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><div><br></div><div>On Jun 17, 2017, at 16:16, Xiaodi Wu 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><div>On Sat, Jun 17, 2017 at 3:21 PM, Ted F.A. van Gaalen <span>&lt;<a href="mailto:tedvgiosdev@gmail.com" target="_blank">tedvgiosdev@gmail.com</a>&gt;</span> wrote:</div></div></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><div><div><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="word-wrap:break-word"><div><span class="m_-2954362602294743503gmail-"><blockquote type="cite"><div><div class="gmail_quote"></div></div></blockquote></span>As you know, Swift currently does not facilitate implicit conversion (coercion),</div><div>which implies that current code (which of course does not contain implicit conversions) </div><div>will function exactly as it does now,</div></div></blockquote><div><br></div><div>That is not implied. Swift has type inference, which means that, with the implementation of implicit promotion, the inferred type of certain expressions that are legal today will change. For instance, integer literals have no type of their own and are inferred to be of some type or another based on context. When combined with bitwise operators, the presence or absence of overloads that allow heterogeneous operations can change the result of code that compiles both before and after the implementation of the feature. This is just one example of why implicit integer promotion in a strictly typed language with type inference and without certain generics features is very hard.</div></div></div></div></div></blockquote><div><br></div></div><div><div>I&#39;m not sure which generic features you&#39;re referring to. Would you (or anyone else who knows) mind elaborating?</div><div><br></div><div>- Dave Sweeris</div></div></blockquote></div></div>