<div dir="ltr">I think he is pointing out that in <a href="https://github.com/apple/swift/blob/master/stdlib/public/core/Integers.swift.gyb">https://github.com/apple/swift/blob/master/stdlib/public/core/Integers.swift.gyb</a> there is the <span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">FixedWidthInteger protocol, which is part of SE-104. <br></span><div><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">Also, there is </span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"> </span></div><div><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">static</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"> </span><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">func</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"> </span><span class="gmail-pl-en" style="box-sizing:border-box;color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">doubleWidthMultiply (line 392)</span></div><div><span class="gmail-pl-en" style="box-sizing:border-box;color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">and </span></div><div><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">static</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"> </span><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">func</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"> </span><span class="gmail-pl-en" style="box-sizing:border-box;color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">doubleWidthDivide (line 394)</span></div><div><span class="gmail-pl-en" style="box-sizing:border-box;color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">but then only </span></div><div><span class="gmail-pl-en" style="box-sizing:border-box;color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace">public</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace"> </span><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace">static</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace"> </span><span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace">func</span><span style="color:rgb(51,51,51);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace"> </span><span class="gmail-pl-en" style="box-sizing:border-box;font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace">doubleWidthDivide (line 589)</span><br></span></div><div><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">and there is no </span><br></div><div><span class="gmail-pl-k" style="font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;box-sizing:border-box;color:rgb(167,29,93)">public</span><span style="font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;color:rgb(51,51,51)"> </span><span class="gmail-pl-k" style="font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;box-sizing:border-box;color:rgb(167,29,93)">static</span><span style="font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;color:rgb(51,51,51)"> </span><span class="gmail-pl-k" style="font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;box-sizing:border-box;color:rgb(167,29,93)">func</span><span style="font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;color:rgb(51,51,51)"> </span><span class="gmail-pl-en" style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre;box-sizing:border-box">doubleWidthMultiply</span><br></div><div><span class="gmail-pl-en" style="box-sizing:border-box;color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">anywhere in the file. <br></span></div><div><font color="#795da3" face="consolas, liberation mono, menlo, courier, monospace"><span style="font-size:12px;line-height:20px;white-space:pre">If the static func </span></font><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">doubleWidthMultiply in line 392 exists, shouldn&#39;t there be a public static func for it, too? </span></div><div><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">Why is there this asymmetry regarding multiplication and division?</span></div><div><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre"><br></span></div><div><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">Sincerely,</span></div><div><span style="color:rgb(121,93,163);font-family:consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre">Björn</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 9, 2016 at 1:35 AM, Chris Lattner via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class="">On Sep 7, 2016, at 12:58 PM, Tim Vermeulen via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</span><div><span class=""><blockquote type="cite"><div><div style="word-wrap:break-word"><div>They’re still in Swift 3. Did something go wrong, or will they simply not show up in the final Swift 3.0?</div></div></div></blockquote><div><br></div></span><div>Please elaborate on what you mean: what is in that shouldn’t be?</div><div><br></div><div>-Chris</div><br><blockquote type="cite"><div><div><div class="h5"><div style="word-wrap:break-word"><br><div><blockquote type="cite"><div>On 10 Aug 2016, at 22:28, Dave Abrahams &lt;<a href="mailto:dabrahams@apple.com" target="_blank">dabrahams@apple.com</a>&gt; wrote:</div><br><div><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">on Wed Aug 10 2016, Tim Vermeulen &lt;</span><a href="http://tvermeulen-at-me.com/" style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">tvermeulen-AT-me.com</a><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">&gt; wrote:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Some protocols of SE-0104 seem to be part of the latest Swift 3<br>snapshots (Arithmetic, FixedWidthInteger, etc) - was this a mistake<br>then, if they won’t be in Swift 3.0?<br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Yes, they&#39;ve been pulled out of the release branch:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="https://github.com/apple/swift/pull/4112#issuecomment-238451509" style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">https://github.com/apple/<wbr>swift/pull/4112#issuecomment-<wbr>238451509</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br><br><blockquote type="cite">on Wed Aug 10 2016, Ben Rimmington&lt;<a href="http://me-at-benrimmington.com/" target="_blank">me-AT-<wbr>benrimmington.com</a>&gt;wrote:<br><br><blockquote type="cite"><blockquote type="cite">On 10 Aug 2016, at 00:36, Dave Abrahams wrote:<br><br><blockquote type="cite">on Tue Aug 09 2016, Ben Rimmington wrote:<br><br><blockquote type="cite">On 9 Aug 2016, at 20:09, Dave Abrahams wrote:<br></blockquote></blockquote></blockquote><br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br>Hi Everybody,<br><br>With another round of apologies for taking late action, we propose to<br>make some deprecations, moves, and renames. The background for these<br>moves is as follows:<br><br>We&#39;ve always known that when Swift reached ABI stability<br>(now slated for<br>Swift 4), we would be committed to supporting many of the standard<br>library&#39;s design decisions for years to come. What we only realized<br>very recently is that, although Swift 3.0 is *not* shipping with a<br>stable ABI, the promise that Swift 3.0 code will work with Swift 4.0<br>code creates similar implications when it comes to certain protocols,<br>today. Especially where these protocols show up in refinement<br>hierarchies, we can&#39;t keep Swift 3 code working in the future without<br>carrying them forward into future libraries.<br><br>The proposed changes are as follows:<br><br>* Move `<wbr>CustomPlaygroundQuickLookable` to the<br>PlaygroundSupport module.<br>This component is really only useful for playgrounds, and doesn&#39;t<br>belong in the standard library.<br></blockquote><br>I didn&#39;t think it was possible to `import PlaygroundSupport` unless the<br>current file is within a playground. If so, how can corelibs-foundation<br>or third-party modules add `<wbr>CustomPlaygroundQuickLookable`<br>conformance?<br></blockquote><br>Ahhh... yeah, I didn&#39;t realize that, and we don&#39;t have time to change<br>that restriction for Swift 3. It&#39;s not a problem for<br>corelibs-foundation but it would be for 3rd-party libraries.<br><br>OK, Dmitri and I just figured out how we can change the home of these<br>types for Swift 4 without breaking Swift 3 code (mirrors to the rescue!)<br>So I&#39;m going to withdraw this part of the proposal.<br></blockquote><br>Will the following need to be reverted?<br><br>&lt;<a href="https://github.com/apple/swift/pull/4089" target="_blank">https://github.com/apple/<wbr>swift/pull/4089</a>&gt;<br><br>&lt;<a href="https://github.com/apple/swift-xcode-playground-support/commit/aab7af4" target="_blank">https://github.com/apple/<wbr>swift-xcode-playground-<wbr>support/commit/aab7af4</a>&gt;<br>&lt;<a href="https://github.com/apple/swift-xcode-playground-support/commit/865fd0c" target="_blank">https://github.com/apple/<wbr>swift-xcode-playground-<wbr>support/commit/865fd0c</a>&gt;<br>&lt;<a href="https://github.com/apple/swift-xcode-playground-support/commit/ab605ef" target="_blank">https://github.com/apple/<wbr>swift-xcode-playground-<wbr>support/commit/ab605ef</a>&gt;<br>&lt;<a href="https://github.com/apple/swift-xcode-playground-support/commit/4bd6575" target="_blank">https://github.com/apple/<wbr>swift-xcode-playground-<wbr>support/commit/4bd6575</a>&gt;<br>&lt;<a href="https://github.com/apple/swift-xcode-playground-support/commit/acee2e1" target="_blank">https://github.com/apple/<wbr>swift-xcode-playground-<wbr>support/commit/acee2e1</a>&gt;<br></blockquote>Technically, no, because typealiases make it unnecessary, but yes, we<br>plan to do that.<br><br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">* Deprecate the Indexable protocols with a message<br>indicating that they<br>will be gone in Swift 4. These protocols are implementation details<br>of the standard library designed to work around language limitations<br>that we expect to be gone in Swift 4. There&#39;s no reason for anyone to<br>ever touch these; users should always use a corresponding Collection<br>protocol (e.g. instead of MutableIndexable, use MutableCollection).<br><br>* Deprecate the ExpressibleByStringInterpolati<wbr>on protocol with a<br>message indicating that its design is expected to change. We know<br>this protocol to be mis-designed<br>(<a href="https://bugs.swift.org/browse/SR-1260" target="_blank">https://bugs.swift.org/<wbr>browse/SR-1260</a>) and limited<br>(<a href="https://bugs.swift.org/browse/SR-2303" target="_blank">https://bugs.swift.org/<wbr>browse/SR-2303</a>), but there&#39;s no time<br>to fix it<br>for Swift 3. If we knew what the new design should look like, we<br>might be able to calculate that the current API is supportable in a<br>forward-compatible way (as we do for Comparable). Unfortunately, we<br>do not.<br><br>* Rename Streamable to TextOutputStreamable and add a deprecated<br>Streamable typealias for it. Now that OutputStream been renamed to<br>TextOutputStream, we should also move Streamable out of the way.<br></blockquote></blockquote></blockquote><br>In apple/swift#4131, these lines have overrun the 80 column limit:<br><br>&lt;<a href="https://github.com/apple/swift/blob/f2443f4/stdlib/public/core/Mirror.swift#L843" target="_blank">https://github.com/apple/<wbr>swift/blob/f2443f4/stdlib/<wbr>public/core/Mirror.swift#L843</a>&gt;<br>&lt;<a href="https://github.com/apple/swift/blob/f2443f4/stdlib/public/core/Mirror.swift#L893" target="_blank">https://github.com/apple/<wbr>swift/blob/f2443f4/stdlib/<wbr>public/core/Mirror.swift#L893</a>&gt;<br><br>&lt;<a href="https://github.com/apple/swift/blob/f2443f4/stdlib/public/core/Print.swift#L177" target="_blank">https://github.com/apple/<wbr>swift/blob/f2443f4/stdlib/<wbr>public/core/Print.swift#L177</a>&gt;<br>&lt;<a href="https://github.com/apple/swift/blob/f2443f4/stdlib/public/core/Print.swift#L228" target="_blank">https://github.com/apple/<wbr>swift/blob/f2443f4/stdlib/<wbr>public/core/Print.swift#L228</a>&gt;<br><br>TextFormatting.rst also needs `Streamable` =&gt;`TextOutputStreamable`:<br><br>&lt;<a href="https://github.com/apple/swift/blob/master/docs/TextFormatting.rst" target="_blank">https://github.com/apple/<wbr>swift/blob/master/docs/<wbr>TextFormatting.rst</a>&gt;<br></blockquote>Pull requests gratefully accepted for all of these corrections<br><br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Deprecation is being proposed instead of underscoring or renaming<br>because it allows existing code to keep working (with warnings). At<br>this late stage, it would be bad to actually break anything.<br></blockquote><br>If the SE-0104 (protocol-oriented integers) proposal has been deferred,<br>should any protocols (e.g. SignedNumber) be deprecated?<br></blockquote></blockquote><br>Will the SE-0104 proposal be accepted for Swift 4.0?<br></blockquote>It is expected to be. We may even be able to get it into a Swift 3<br>point-release (e.g. 3.1)<br><br>--<br>Dave<br><br><br><br></blockquote></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">--<span> </span></span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">-Dave</span></div></blockquote></div><br></div></div></div><span class="">______________________________<wbr>_________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br></span></div></blockquote></div><br></div><br>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br></blockquote></div><br></div>