[swift-evolution] Optional comparison operators

Jacob Bandes-Storch jtbandes at gmail.com
Tue Jul 12 01:55:51 CDT 2016


Mark,
Thanks for writing this up. Just to clarify, will these still work if your
proposal is implemented?

    let x: Int?
    let y: Int
    struct NotEquatable {}
    let z: NotEquatable?

    x == y; x != y
    x == nil; x != nil
    z == nil; z != nil

I would hope that these continue to work. If any changes need to be made to
ensure that, please make sure they're included in the proposal too.

Jacob

On Mon, Jul 11, 2016 at 9:35 PM, Mark Lacey <mark.lacey at apple.com> wrote:

>
> On Jul 11, 2016, at 9:12 PM, Chris Lattner via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>
> On Jul 11, 2016, at 8:14 PM, Jacob Bandes-Storch via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> You'd have to unwrap it, or use the ??/==/!= operators:
> https://gist.github.com/jtbandes/9d88cc83ceceb6c62f38
>
> I'd be okay with </<=/>/>= returning Bool?, as I suggested in an older
> email (which somehow didn't make it to gmane's archive, but it's quoted in some
> other messages
> <http://thread.gmane.org/gmane.comp.lang.swift.evolution/10095>). I think
> it would be more convenient in some cases than unwrapping the individual
> values before comparing them.
>
>
> I’d be strongly opposed to those operator returning “Bool?”.  Doing so
> would prevent conforming to Comparable and would be extremely surprising.
>
> -Chris
>
>
> I just pushed the current draft of the proposal:
> https://github.com/rudkx/swift-evolution/blob/eliminate-value-to-optional-coercion/proposals/0000-disallow-value-to-optional-coercion-in-operator-arguments.md
>
> 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.
>
> I’ll update the proposal as the discussion continues until it’s selected
> for review.
>
> Mark
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160711/d6f00906/attachment.html>


More information about the swift-evolution mailing list