<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>I completely disagree. Being able to compare `Optional` values is very handy in a lot of cases. Adding special syntax for this is just unnecessary language complication, especially as the proposed syntax conflicts with the existing meaning of the postfix-? operator and the optional-chaining operator.<br></div>
<div>&nbsp;</div>
<div>-Kevin Ballard</div>
<div>&nbsp;</div>
<div>On Thu, Dec 3, 2015, at 04:17 PM, Jacob Bandes-Storch wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div>Agreed — or, I think, these operators could/should simply be removed.<br></div>
<div>&nbsp;</div>
<div>I filed &lt;rdar://22833869&gt; about this a while ago, which was marked as Duplicate/&lt;rdar://16966712&gt;.<br></div>
<div>&nbsp;</div>
<div><pre style="outline-style:none;outline-color:initial;outline-width:initial;font-family:inherit;font-size:13px;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;white-space:pre-wrap;word-wrap:break-word;color:rgb(0, 0, 0);"><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204, 204, 204);border-left-style:solid;padding-left:1ex;"><div>Summary:<br></div>
<div>This returns true:
    (nil as Int?) &lt; 0
This also returns true, which makes even less sense:
    (nil as Int?) &lt; Int.min<span class="font" style="font-family:inherit"></span><br></div>
</blockquote><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204, 204, 204);border-left-style:solid;padding-left:1ex;"><br></blockquote><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204, 204, 204);border-left-style:solid;padding-left:1ex;"><div>Expected Results:<br></div>
<div>nil &lt; 0, nil &gt; 0, and nil == 0, should all be false. nil != 0 should be true.
Alternatively, just *don't* provide &lt; and &gt; operators that accept optional arguments.<span class="font" style="font-family:inherit"></span><br></div>
</blockquote><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204, 204, 204);border-left-style:solid;padding-left:1ex;"><span class="font" style="font-family:inherit"></span><br></blockquote><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204, 204, 204);border-left-style:solid;padding-left:1ex;"><div>Actual Results:<br></div>
<div>nil &lt; 0 is true. Others are as expected.<br></div>
</blockquote><div>&nbsp;</div>
<div>See also: <a href="https://twitter.com/jtbandes/status/646914031433871364">https://twitter.com/jtbandes/status/646914031433871364</a><br></div>
</pre></div>
<div><div>&nbsp;</div>
<div><div><div dir="ltr"><div>Jacob<br></div>
</div>
</div>
</div>
<div>&nbsp;</div>
<div><div>On Thu, Dec 3, 2015 at 3:42 PM, Amir Michail <span dir="ltr">&lt;<a href="mailto:a.michail@me.com">a.michail@me.com</a>&gt;</span> wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204, 204, 204);border-left-style:solid;padding-left:1ex;"><div>Such comparisons with optionals can result in hard to find bugs.<br></div>
<div>&nbsp;</div>
<div>
For example consider:<br></div>
<div>&nbsp;</div>
<div>
let f = x &lt; 5&nbsp; // x is of type Int? and may be nil<br></div>
<div>&nbsp;</div>
<div>
The proposed ? suffix would be used as follows and makes the possibility of nil very clear:<br></div>
<div>&nbsp;</div>
<div>
let f = x? &lt; 5<br></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>
_______________________________________________<br></div>
<div>
swift-evolution mailing list<br></div>
<div> <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div> <a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div>
</blockquote></div>
</div>
</div>
<div><img style="height:1px !important;width:1px !important;border-top-width:0px !important;border-right-width:0px !important;border-bottom-width:0px !important;border-left-width:0px !important;margin-top:0px !important;margin-bottom:0px !important;margin-right:0px !important;margin-left:0px !important;padding-top:0px !important;padding-bottom:0px !important;padding-right:0px !important;padding-left:0px !important;" border="0" height="1" width="1" alt="" src="https://www.fastmailusercontent.com/proxy/f642e79cdc9179f85a1d5227d47c7f54fa9ed2213c9553950205001e5a4c58a5/8647470737a3f2f25723030323431303e23647e23756e64676279646e2e65647f27766f2f60756e6f35707e6d3148765176786c673171614a7d2236454230345272776e426e61476b4b6d4a4953655131557b4138603838346f4a4765426734535b6a5a50345e62497f4c4d62536939334579415579676940793b6d49777d2232447462387931725e665d2236444e40595d45767c6c6641377761563d684f4c645931384a4a47323c433073566a65537264554b6c475035396c4835467e4a497a686952556c45705c4542435662713376526934407a7f43607848385d603a4a596255386345714e63373742437961705f4a6369653055314d22324d223248367e6a56727647744d223244476f64677d23344d23344/open"><br></div>
<div><u>_______________________________________________</u><br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div>
</blockquote><div>&nbsp;</div>
</body>
</html>