I prefer c[i...]

After all, why should it mean c[i...c.endIndex] and not c[i...c.lastIndex]? 
With the latter interpretation it is not just typographically nicer but also 
consistent.

-Thorsten 


Am 23.01.2017 um 00:40 schrieb Chris Lattner via swift-evolution 
<swift-evolution@swift.org>:

>> In my experiments with introducing one-sided operators in Swift 3, I was not 
>> able to find a case where you actually wanted to write `c[i...]`. Everything 
>> I tried needed to use `c[i..<]` instead. My conclusion was that there was no 
>> possible use for postfix `...`; after all, `c[i...]` means 
>> `c[i...c.endIndex]`, which means `c[i..<c.index(after: c.endIndex)]`, which 
>> violates a precondition on `index(after:)`.
> 
> Right, the only sensible semantics for a one sided range with an open end 
> point is that it goes to the end of the collection.  I see a few different 
> potential colors to paint this bikeshed with, all of which would have the 
> semantics ā€œc[i..<c.endIndex]ā€:
> 
> 1) Provide "c[i...]":
> 2) Provide "c[i..<]":
> 3) Provide both "c[i..<]ā€ and "c[iā€¦]":
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to