[swift-dev] SR-122 / CollectionsMoveIndices.swift Prototype
Dmitri Gribenko
gribozavr at gmail.com
Mon Mar 14 14:50:57 CDT 2016
On Mon, Mar 14, 2016 at 11:57 AM, Shawn Erickson <shawnce at gmail.com> wrote:
>
>
> On Thu, Mar 10, 2016 at 10:49 PM Dmitri Gribenko <gribozavr at gmail.com>
> wrote:
>>
>> Hi everyone,
>>
>> I just wanted to announce that we have sufficient change on the
>> swift-3-indexing-model branch so that we can build the core standard
>> library and StdlibUnittest. We achieved this by putting the protocol
>> new structure into place, and stubbing out with fatalError() or just
>> commenting out parts that didn't compile. Now we have a baseline that
>> we won't regress, and we are starting to work towards improving it,
>> making existing tests pass, and then writing new tests, and addressing
>> TODOs and FIXMEs that we left in the code as we were doing the first
>> pass.
>>
>> Here's the most recent pull request from Shawn where he starts to fix
>> the tests: https://github.com/apple/swift/pull/1632
>>
>> Now we are in the "massively-parallel" stage of this project and we,
>> as always, welcome contributions to this branch!
>
>
> Is their a reason we are suppressing sort in place for MutableCollections?
No, that wasn't intentional.
> benchmark/single-source/StaticArray.swift:86:17: error: 'sort()' has been
> renamed to 'sorted'
> staticArray.sort()
> ^~~~
> sorted
> Swift.MutableCollection:3:17: note: 'sort()' has been explicitly marked
> unavailable here
> public func sort() -> [Self.Iterator.Element]
> ^
>
> In CollectionAlgorithms we have `sortInPlace` marked as unavailable renamed
> to `sort` and `sort -> [Iterator.Element]` marked as unavailable renamed
> `sorted`.
>
> 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?
I think that's right. There is a mutating implementation already in
CollectionAlgorithms.swift.gyb, which is followed by an unavailable
one with a renamed clause. I think we should remove the unavailable
one.
Dmitri
--
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
More information about the swift-dev
mailing list