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