<div dir="ltr">Here&#39;s another proposal to reinstate mixed-optional versions of ==/!=/===/!==, assuming that coercion is removed: <a href="https://github.com/apple/swift-evolution/pull/426">https://github.com/apple/swift-evolution/pull/426</a><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Jacob<br></div></div></div></div>
<br><div class="gmail_quote">On Tue, Jul 12, 2016 at 11:29 AM, Chris Lattner <span dir="ltr">&lt;<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>On Jul 12, 2016, at 10:26 AM, Jacob Bandes-Storch &lt;<a href="mailto:jtbandes@gmail.com" target="_blank">jtbandes@gmail.com</a>&gt; wrote:</div><br><div><div dir="ltr">I&#39;ve submitted a PR for my proposal to remove these versions of &lt;/&lt;=/&gt;/&gt;=  at  <a href="https://github.com/apple/swift-evolution/pull/425" target="_blank">https://github.com/apple/swift-evolution/pull/425</a>.</div></div></blockquote><div><br></div></span>Thanks, LGTM, I merged and kicked it off.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Chris</div></font></span><span class=""><div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra">
<br><div class="gmail_quote">On Tue, Jul 12, 2016 at 12:03 AM, Jacob Bandes-Storch <span dir="ltr">&lt;<a href="mailto:jtbandes@gmail.com" target="_blank">jtbandes@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Mon, Jul 11, 2016 at 9:54 PM, Chris Lattner <span dir="ltr">&lt;<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><span><br><div><blockquote type="cite"><div>On Jul 11, 2016, at 9:35 PM, Mark Lacey &lt;<a href="mailto:mark.lacey@apple.com" target="_blank">mark.lacey@apple.com</a>&gt; wrote:</div><br><div><div style="word-wrap:break-word"><br><div><blockquote type="cite"><div>On Jul 11, 2016, at 9:12 PM, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><div style="word-wrap:break-word"><br><div><blockquote type="cite"><div>On Jul 11, 2016, at 8:14 PM, Jacob Bandes-Storch via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><div dir="ltr"><div>You&#39;d have to unwrap it, or use the ??/==/!= operators: <a href="https://gist.github.com/jtbandes/9d88cc83ceceb6c62f38" target="_blank">https://gist.github.com/jtbandes/9d88cc83ceceb6c62f38</a></div><div><br></div><div>I&#39;d be okay with &lt;/&lt;=/&gt;/&gt;= returning Bool?, as I suggested in an older email (which somehow didn&#39;t make it to gmane&#39;s archive, but it&#39;s quoted in <a href="http://thread.gmane.org/gmane.comp.lang.swift.evolution/10095" target="_blank">some other messages</a>). I think it would be more convenient in some cases than unwrapping the individual values before comparing them.</div></div></div></blockquote><br></div><div>I’d be strongly opposed to those operator returning “Bool?”.  Doing so would prevent conforming to Comparable and would be extremely surprising.</div><div><br></div><div>-Chris</div></div></div></blockquote><div><br></div>I just pushed the current draft of the proposal: <a href="https://github.com/rudkx/swift-evolution/blob/eliminate-value-to-optional-coercion/proposals/0000-disallow-value-to-optional-coercion-in-operator-arguments.md" target="_blank">https://github.com/rudkx/swift-evolution/blob/eliminate-value-to-optional-coercion/proposals/0000-disallow-value-to-optional-coercion-in-operator-arguments.md</a></div><div><br></div><div>I haven’t addressed removal of the ordered comparison operators. I suspect this should be a separate proposal, but I can roll that into this one if it’s desired.</div><div><br></div><div>I’ll update the proposal as the discussion continues until it’s selected for review.</div></div></div></blockquote><br></div></span><div>I think it makes sense to keep removal of the non-equality comparisons a separate proposal.</div></div></blockquote><div><br></div></span><div>Here&#39;s a draft. Feedback welcome:</div><div><br></div><div><a href="https://github.com/jtbandes/swift-evolution/blob/master/proposals/0122-remove-optional-comparison-operators.md" target="_blank">https://github.com/jtbandes/swift-evolution/blob/master/proposals/0122-remove-optional-comparison-operators.md</a></div><div><br></div></div></div></div>
</blockquote></div><br></div></div>
</div></blockquote></div><br></span></div></blockquote></div><br></div></div>