[swift-dev] Helping out with larger-scope items?

Dave Abrahams dabrahams at apple.com
Fri Feb 19 19:29:26 CST 2016

on Fri Feb 19 2016, Shawn Erickson <shawnce-AT-gmail.com> wrote:

> I would like to make myself available for standard library work. It is more
> of wheel house then compiler, etc.
> -Shawn
> On Fri, Feb 19, 2016 at 3:19 PM Dave Abrahams via swift-dev <
> swift-dev at swift.org> wrote:
>> on Tue Feb 16 2016, Austin Zheng <swift-dev-AT-swift.org> wrote:
>> > Hi all,
>> >
>> > The bug tracker contains a number of small, relatively straightforward
>> > tasks and bugs marked as 'starter bugs'. What would be a good way to
>> > find, start working on, or collaborate on tasks and engineering
>> > projects with larger, more complex scope? I know there are Apple
>> > engineers concentrating on specific subsets of Swift 3.0
>> > functionality, and it would be great if there were a way for us on the
>> > outside to usefully help out.
>> Hi Austin,
>> Thanks again for asking.  We actually have a pretty substantial
>> challenge ahead with replacing the standard library's collections and
>> indices with what's in
>> https://github.com/apple/swift/blob/master/test/Prototypes/CollectionsMoveIndices.swift
>> I anticipate that the whole stdlib team may need to be involved in this
>> project, which Dmitri (Cc'd) is driving, and we'd love it if you could
>> help.
>> Obviously, as it hasn't gone through review yet, it needs to happen on a
>> branch.
>> Does that sound interesting?

Okay, I've up a branch for you guys: swift-3-indexing-model. 

* You can submit pull requests against that. 

* There are corresponding branches in the swift-llvm and swift-clang
  repos that this branch will build/test against.

* The branch is based on swift-3-api-guidelines, where we're doing all
  the renaming work associated with the new guidelines; we expect to
  merge that branch into master in a few days, so basing the indexing model
  work on it should reduce conflicts when we merge this work.

Most of the stdlib team is currently occupied with other fires, but we
want to move on to work on this ASAP.  If it's possible for you guys to
get it started in the meantime, that would be truly awesome.
Unfortunately the hardest part is right at the beginning.

The first step is to make the minimal changes required to get the
standard library to build after replacing the Collection protocol with
the three shown in the prototype.  That step may not be very
parallelizable and might require either close coordination or for one of
you to do it alone.  Tests will be horribly broken at this point, and
you may have even commented out parts of the standard library, so this
step requires intestinal fortitude.

If parts of the library have been disabled in step 1, next you can split
up the work of getting the whole library to work.

At this point you should be able to mark the old Index protocols
@unavailable and move on to fixing tests.

How does this all sound?

P.S.  The Swift community is *so* awesome.


More information about the swift-dev mailing list