[Review] SE-0148 Generic Subscripts


(Douglas Gregor) #1

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution
or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reply text

Other replies
<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager


(Douglas Gregor) #2

My apologies for the broken link:

  https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md

  - Doug

···

On Jan 19, 2017, at 1:39 PM, Douglas Gregor via swift-evolution <swift-evolution@swift.org> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution
or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reply text

Other replies
<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Matthew Johnson) #3

What is your evaluation of the proposal?

Very enthusiastic +1. I have wanted this feature ever since Swift was released and I noticed that it was missing.

I think the proposal could be made stronger by including some of the examples that were shared in the pre-review discussion. Any reviewers who have questions about how this feature might be used should read through that discussion if they have not already done so.

Is the problem being addressed significant enough to warrant a change to Swift?

Yes. I am not aware of any significant reasons not to include this feature and am aware of several compelling use cases for it.

Does this proposal fit well with the feel and direction of Swift?

Very much so.

If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

N/A

How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

A quick read, but I have been missing this feature ever since Swift was released and I noticed that it was missing.


(Slava Pestov) #4

Can we also add mention that default arguments on subscripts should work as well? This will force whoever implements this to do it properly and rip out the old RValue-based argument tuple emission that’s only used for subscripts in favor the argument emission logic.

Slava

···

On Jan 19, 2017, at 1:39 PM, Douglas Gregor via swift-evolution <swift-evolution@swift.org> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution
or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reply text

Other replies
<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Tony Allevato) #5

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through
January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
<https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>

Reviews are an important part of the Swift evolution process. All reviews
should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution

or, if you would like to keep your feedback private, directly to the
review manager. When replying, please try to keep the proposal link at the
top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
<https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>

Reply text

Other replies

<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What
goes into a review?

The goal of the review process is to improve the proposal under review
through constructive criticism and, eventually, determine the direction of
Swift. When writing your review, here are some questions you might want to
answer in your review:

   - What is your evaluation of the proposal?

Big +1. The proposal is short and sweet because it's obvious that we

should have this. Just look at that low bug number! :slight_smile:

   - Is the problem being addressed significant enough to warrant a
   change to Swift?

Absolutely. This is an important part of generics (as well as just for

collection types in general) and will make a lot of things cleanly possible
that currently aren't.

   - Does this proposal fit well with the feel and direction of Swift?

Yes.

   - If you have used other languages or libraries with a similar
   feature, how do you feel that this proposal compares to those?

The closest I can think of is having an operator[] overload in C++ that is

template-based. It makes sense to have the same functionality in Swift.

···

On Thu, Jan 19, 2017 at 1:39 PM Douglas Gregor via swift-evolution < swift-evolution@swift.org> wrote:

   - How much effort did you put into your review? A glance, a quick
   reading, or an in-depth study?

Quick read of the proposal, followed the mailing list threads.

More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md

Thank you,

-Doug

Review Manager
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(David Sweeris) #6

+1, both to this proposal and Slava's suggestion.

- Dave Sweeris

···

On Jan 19, 2017, at 15:39, Douglas Gregor <dgregor@apple.com> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md


(Howard Lovatt) #7

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md

What is your evaluation of the proposal?

Well written proposal.

Would suggest that you add some more examples from the discussions on the mailing list, particularly the Brent-Royal TypedDictionary example.

+1 overall.

Is the problem being addressed significant enough to warrant a change to Swift?

Yes, it has caused me to write code that uses functions rather than subscripts that aren't 'natural' in Swift.

Does this proposal fit well with the feel and direction of Swift?

Yes brings subscripts more into line with functions. Could go further and include throws as well, another issue I have had!

If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

Yes. Scala has generic subscripting. In Scala a read subscript calls the `apply` method and a write subscript calls the `update` method. Both `apply` and `update` can have generic arguments, can throw etc, and they do not need to have the same argument types (they are seperate methods). Generic subscripting works well in Scala but is not widely used, the vast majority of the time current Swift like subscripting is used (except that throwing is used for index out of bounds rather than terminating the program).

How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Read the evolution thread and the proposal. Have encountered this limitation in my own code.

-- Howard.

···

On 20 Jan 2017, at 8:39 am, Douglas Gregor <dgregor@apple.com> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution
or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
Reply text

Other replies
What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager

_______________________________________________
swift-evolution-announce mailing list
swift-evolution-announce@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution-announce


(Radek Pietruszewski) #8

I’m +1 for the proposal.

Context, in case it’s useful for anyone: My particular use case for generic subscripts is with my SwiftyUserDefaults library (https://github.com/radex/SwiftyUserDefaults), which allows users to access user defaults with a syntax like: `Defaults[.foo]` and `Defaults[.foo] = 20`, in a type-safe way. `.foo` refers to a `DefaultsKey<T>` object, where T is the type stored in the user defaults. Right now, I’m forced to define multiple subscripts to support the standard types of user defaults, but it takes a lot of boilerplate code. Generic subscripts would abstract this away (with a help of a protocol to mark which types are supported). There’s also no good way to allow nested types like `[String]` or `[String: [Int]]`.

Best,
— Radek

···

On 19 Jan 2017, at 22:39, Douglas Gregor via swift-evolution <swift-evolution@swift.org> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution
or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md <https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>
Reply text

Other replies
<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


#9

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md

  • What is your evaluation of the proposal?

+1 Enthousiastic!

  • Is the problem being addressed significant enough to warrant a change to Swift?

Yes, because library developers are required to declare generic methods, even when a subscript would look and feel more natural at the call site.

  • Does this proposal fit well with the feel and direction of Swift?

Yes, because consistency simplifies the language: there was no good reason for subscripts not te be generic, except implementation details of the Swift compiler.

I'll use the same arguments to support throwing subscripts.

  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

No, I don't.

  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

I've been waiting this for years, for the SQLite library http://github.com/groue/GRDB.swift

Cheers,
Gwendal


(Georgios Moschovitis) #10

What is your evaluation of the proposal?

+1

Is the problem being addressed significant enough to warrant a change to Swift?

Yes, generic subscripts are often useful.

Does this proposal fit well with the feel and direction of Swift?

It definitely fits with Swift’s aim to be consistent, logical, non-surprising language.
Always felt like a strange omission

If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

Not sure

How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Read the proposal, followed the evolution thread.

George.


(Brent Royal-Gordon) #11

  • What is your evaluation of the proposal?

Badly needed. I can't count how many times I've wanted this feature. And now is definitely the time to do it, because we'll need it for some upcoming standard library redesigns.

  • Is the problem being addressed significant enough to warrant a change to Swift?

Yes.

  • Does this proposal fit well with the feel and direction of Swift?

Yes.

  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

I haven't used many strongly-typed languages with sophisticated syntax.

  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Quick reading. I mean, besides the days I've put in refining workarounds for this feature's absence.

···

On Jan 19, 2017, at 1:39 PM, Douglas Gregor <dgregor@apple.com> wrote:

--
Brent Royal-Gordon
Architechies


(Robert Widmann) #12

~Robert Widmann

2017/01/19 16:39、Douglas Gregor via swift-evolution <swift-evolution@swift.org> のメッセージ:

What is your evaluation of the proposal?

+1. A badly-needed feature for a lot of folks (and their DSLs!)

Is the problem being addressed significant enough to warrant a change to Swift?

Yes.

Does this proposal fit well with the feel and direction of Swift?

Yes.

If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

Subscripts are usually not in a special class of their own in languages either with extensible syntax or operator definitions. In that case, we're just aligning ourselves with the field.

How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

A quick once-through.

···

More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Karl) #13

What is your evaluation of the proposal?

+1

Is the problem being addressed significant enough to warrant a change to Swift?

Yes

Does this proposal fit well with the feel and direction of Swift?

Yes

If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

N/A

How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Quick read (it’s a short proposal), participated in previous discussion.

- Karl


(Dave Abrahams) #14

+1; let's do it.

The proposal ought to mention
https://github.com/apple/swift-evolution/blob/9cf2685293108ea3efcbebb7ee6a8618b83d4a90/proposals/0132-sequence-end-ops.md
as an important motivation.

···

on Thu Jan 19 2017, Douglas Gregor <swift-evolution@swift.org> wrote:

My apologies for the broken link:

  https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md

  - Doug

--
-Dave


(Douglas Gregor) #15

Can we also add mention that default arguments on subscripts should work as well? This will force whoever implements this to do it properly and rip out the old RValue-based argument tuple emission that’s only used for subscripts in favor the argument emission logic.

Yeah, that seems totally reasonable to me.

   - Doug

···

Sent from my iPhone

On Jan 19, 2017, at 5:04 PM, Slava Pestov <spestov@apple.com> wrote:

Slava

On Jan 19, 2017, at 1:39 PM, Douglas Gregor via swift-evolution <swift-evolution@swift.org> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution
or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
Reply text

Other replies
What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md
Thank you,

-Doug

Review Manager

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Russ Bishop) #16

Fully agree, +1 to the proposal and +1 to Slava’s suggestion.

Russ

···

On Jan 19, 2017, at 5:04 PM, Slava Pestov via swift-evolution <swift-evolution@swift.org> wrote:

Can we also add mention that default arguments on subscripts should work as well? This will force whoever implements this to do it properly and rip out the old RValue-based argument tuple emission that’s only used for subscripts in favor the argument emission logic.

Slava


(TJ Usiyan) #17

+1 for the proposal and default arguments on subscripts

···

On Thu, Jan 19, 2017 at 11:16 PM, David Sweeris via swift-evolution < swift-evolution@swift.org> wrote:

On Jan 19, 2017, at 15:39, Douglas Gregor <dgregor@apple.com> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through
January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/
proposals/0148-generic-subscripts.md
<https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>

+1, both to this proposal and Slava's suggestion.

- Dave Sweeris

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Shawn Erickson) #18

Big +1 to the proposal and +1 to support default values.

···

On Thu, Jan 19, 2017 at 5:04 PM Slava Pestov via swift-evolution < swift-evolution@swift.org> wrote:

Can we also add mention that default arguments on subscripts should work
as well? This will force whoever implements this to do it properly and rip
out the old RValue-based argument tuple emission that’s only used for
subscripts in favor the argument emission logic.

Slava

On Jan 19, 2017, at 1:39 PM, Douglas Gregor via swift-evolution < > swift-evolution@swift.org> wrote:

Hello Swift community,

The review of SE-0148 “Generic Subscripts" begins now and runs through
January 24, 2017. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
<https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>

Reviews are an important part of the Swift evolution process. All reviews
should be sent to the swift-evolution mailing list at

https://lists.swift.org/mailman/listinfo/swift-evolution

or, if you would like to keep your feedback private, directly to the
review manager. When replying, please try to keep the proposal link at the
top of the message:

Proposal link:

https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md
<https://github.com/apple/swift-evolution/blob/master/proposals/NNNN-proposal.md>

Reply text

Other replies

<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What
goes into a review?

The goal of the review process is to improve the proposal under review
through constructive criticism and, eventually, determine the direction of
Swift. When writing your review, here are some questions you might want to
answer in your review:

   - What is your evaluation of the proposal?
   - Is the problem being addressed significant enough to warrant a
   change to Swift?
   - Does this proposal fit well with the feel and direction of Swift?
   - If you have used other languages or libraries with a similar
   feature, how do you feel that this proposal compares to those?
   - How much effort did you put into your review? A glance, a quick
   reading, or an in-depth study?

More information about the Swift evolution process is available at

https://github.com/apple/swift-evolution/blob/master/process.md

Thank you,

-Doug

Review Manager
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Chris Eidhof) #19

Hey all,

I've added a PR which consists of two commits: one that mentions more
examples, and one that adds a note about including default arguments.

···

On Fri, Jan 20, 2017 at 7:32 AM, Russ Bishop via swift-evolution < swift-evolution@swift.org> wrote:

> On Jan 19, 2017, at 5:04 PM, Slava Pestov via swift-evolution < > swift-evolution@swift.org> wrote:
>
> Can we also add mention that default arguments on subscripts should work
as well? This will force whoever implements this to do it properly and rip
out the old RValue-based argument tuple emission that’s only used for
subscripts in favor the argument emission logic.
>
> Slava

Fully agree, +1 to the proposal and +1 to Slava’s suggestion.

Russ

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

--
Chris Eidhof


(Erica Sadun) #20

+1. The change offers notable utility, I have read the proposal, and it fits with the direction of Swift.

-- E

···

On Jan 19, 2017, at 5:25 PM, Dave Abrahams via swift-evolution <swift-evolution@swift.org> wrote:

on Thu Jan 19 2017, Douglas Gregor <swift-evolution@swift.org> wrote:

My apologies for the broken link:

  https://github.com/apple/swift-evolution/blob/master/proposals/0148-generic-subscripts.md

  - Doug

+1; let's do it.

The proposal ought to mention
https://github.com/apple/swift-evolution/blob/9cf2685293108ea3efcbebb7ee6a8618b83d4a90/proposals/0132-sequence-end-ops.md
as an important motivation.