[swift-evolution] Let range operators always return empty ranges if the upper bound is smaller than the lower bound.

Haravikk me at haravikk.com
Wed Jan 20 15:17:22 CST 2016


I’m inclined to agree though I’m pretty uncertain all round.

To me it seems like the only cases where someone seems likely to end up with an end index lower than their start index is either from input (in which case the value should be tested first), or some kind of logic error, in which case silently failing isn’t going to help resolve that issue (or detect it).

Personally I’d much prefer the opposite solution, which would be to have stride throw an error if the range given is invalid; this would still mean both cases are consistent, but without the risk of silent failures ruining your program.

- Haravikk

> On 20 Jan 2016, at 19:42, Jordan Rose via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I'm a minor -1; it feels like this is in the same family as nil-messaging in that it can silently treat invalid input as a no-op. I'm not convinced that "upper bound less than the lower bound" is a strong enough signal for "empty" rather than "logic error". But it seems I'm in the minority.
> 
> Jordan
> 
> 
>> On Jan 19, 2016, at 12:46, Uwe Falck via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> I’m looking for feedback on this request if its worth to start an evolution proposal.
>> 
>> 
>> Let range operators always return empty ranges if the upper bound is smaller than the lower bound.
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1567 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160120/8cc15969/attachment.p7s>


More information about the swift-evolution mailing list