> On Apr 6, 2016, at 2:35 PM, Erica Sadun via swift-evolution 
> <[email protected]> wrote:
> 
> Yes, but you can with warnings and fixits. 
> 
> * The compiler should issue a warning for any use of 
> 
> (n..<m).striding(by: v | v < 0) | n, m, v : Integer
> 
> with a fixit of "replace  (n..<m) with (n...m - 1)" regardless of
> whether n or m is known at compile time 
> 
> * If v cannot be known at compile time, I think the compiler should
> always prefer ... to ..<.
> 
> * The compiler should not allow
> 
> (n..<m).striding(by: v | v < 0) | n, m, v: floating point types
> 
> where v is known at compile time to be a negative constant. There should 
> also be a runtime precondition that raises a fatal error should a negative 
> v be used with a half-open interval.
> 
> -- E

Following up to myself, this can easily be expanded to the other cases just
brought up by Xiaodi Wu

-- E


_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to