<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 10, 2016 at 10:49 PM Dmitri Gribenko &lt;<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi everyone,<br>
<br>
I just wanted to announce that we have sufficient change on the<br>
swift-3-indexing-model branch so that we can build the core standard<br>
library and StdlibUnittest.  We achieved this by putting the protocol<br>
new structure into place, and stubbing out with fatalError() or just<br>
commenting out parts that didn&#39;t compile.  Now we have a baseline that<br>
we won&#39;t regress, and we are starting to work towards improving it,<br>
making existing tests pass, and then writing new tests, and addressing<br>
TODOs and FIXMEs that we left in the code as we were doing the first<br>
pass.<br>
<br>
Here&#39;s the most recent pull request from Shawn where he starts to fix<br>
the tests: <a href="https://github.com/apple/swift/pull/1632" rel="noreferrer" target="_blank">https://github.com/apple/swift/pull/1632</a><br>
<br>
Now we are in the &quot;massively-parallel&quot; stage of this project and we,<br>
as always, welcome contributions to this branch!<br></blockquote><div><br></div><div>Is their a reason we are suppressing sort in place for MutableCollections?</div><div><br></div><div><span><div>benchmark/single-source/StaticArray.swift:86:17: error: &#39;sort()&#39; has been renamed to &#39;sorted&#39;</div><div>    staticArray.sort()</div><div>                ^~~~</div><div>                sorted</div><div>Swift.MutableCollection:3:17: note: &#39;sort()&#39; has been explicitly marked unavailable here</div><div>    public func sort() -&gt; [Self.Iterator.Element]</div><div>                ^</div><div><br></div></span>In CollectionAlgorithms we have `sortInPlace` marked as unavailable renamed to `sort` and `sort -&gt; [Iterator.Element]` marked as unavailable renamed `sorted`.</div><div><br></div><div>I believe we want `sort()` to be the mutating one (in place) and `sorted()` to return a sorted version, right? I poke around more on this. It could be we have an overzealous unavailable?</div><div><br></div><div><br></div><div>----------</div><div><span><div>extension MutableCollection</div><div>  where</div><div>  Self : RandomAccessCollection,</div><div>  Self.Iterator.Element : Comparable {</div><div><br></div><div>  @available(*, unavailable, renamed=&quot;sort&quot;)</div><div>  public mutating func sortInPlace() {</div><div>    fatalError(&quot;unavailable function can&#39;t be called&quot;)</div><div>  }</div><div>}</div><div><br></div><div><span><div>extension MutableCollection where Self.Iterator.Element : Comparable {</div><div>  @available(*, unavailable, renamed=&quot;sorted&quot;)</div><div>  public func sort() -&gt; [Iterator.Element] {</div><div>    fatalError(&quot;unavailable function can&#39;t be called&quot;)</div><div>  }</div><div><br></div><div>  @available(*, unavailable, renamed=&quot;sorted(isOrderedBefore:)&quot;)</div><div>  public func sort(</div><div>    @noescape isOrderedBefore: (Iterator.Element, Iterator.Element) -&gt; Bool</div><div>  ) -&gt; [Iterator.Element] {</div><div>    fatalError(&quot;unavailable function can&#39;t be called&quot;)</div><div>  }</div><div>}</div></span>-----------</div></span><br></div><div></div></div></div>