<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">While it's good that this was accepted I still feel there could be some more discussion about whether the operators should be prefix/postfix or instead involve a more explicit declaration of one-sidedness.</div><div class=""><br class=""></div><div class="">I still would very much prefer that the operator declarations were binary and take Void as a second argument, this way there is very explicit indication that one-sidedness was requested, rather than potentially accidental; assuming many subscripts and methods that take currently closed ranges will be updated to also take one-sided ranges, the distinction is very important as a omitting one of the values could represent a mistake, and result in one-sided behaviour with unintended consequences.</div><div class=""><br class=""></div><div class="">With a Void "open" argument this would look like:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Monaco" class="">func ... &lt;T:Comparable&gt;(lhs:T, rhs:Void) -&gt; RangeFrom { ... }</font></div><div class=""><font face="Monaco" class="">func ... &lt;T:Comparable&gt;(lhs:Void, rhs:T) -&gt; RangeTo { ... }</font></div><div class=""><font face="Monaco" class=""><br class=""></font></div><div class=""><font face="Monaco" class="">let rangeFrom = 5 ... ()</font></div><div class=""><font face="Monaco" class="">let rangeTo = () ... 5</font></div></blockquote><div class=""><br class=""></div><div class="">Not the prettiest with the Void brackets, however, if we could in future get underscore as another alias for Void we could refine this into:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Monaco" class="">let rangeFrom = 5 ... _</font></div></div><div class=""><div class=""><font face="Monaco" class="">let rangeTo = _ ... 5</font></div></div></blockquote><div class=""><br class=""></div><div class="">This would have consistency with other uses of underscore that are used to indicate that something is being ignored on purpose, which I think fits this proposal very well. It would also leave the prefix/postfix ellipsis operator free for use on something else with less chance of creating ambiguity.</div></body></html>