Re: Re: [RFC] [VOTE] User-defined object comparison
| From: | Marco Pivetta | Date: | Tue, 10 Jul 2018 09:35:32 +0000 |
| Subject: | Re: Re: [RFC] [VOTE] User-defined object comparison | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-102689@lists.php.net to get a copy of this message | ||
Heya!
Just some background on my -1 vote:
1. the
== operator is already riddled with edge cases and complexity,
and it is overall advisable to stay away from it
2. comparison of value objects already works correctly with == (if we
don't consider edge cases like '0.' == '0.0')
3. the suggested approach is to add more interface-less reserved/magic
methods: an Eq and an Ord class would have solved this much more
elegantly and with clear type declarations that can be re-used in userland.
With this patch, we have to rely on method_exists() instead.
4. It would also be much clearer to enforce that Ord extends Eq, rather
than adding implicit "sorting implies equality" rules
5. "the methods are not restricted to instances of the same class" - this
is something I disagree with, but we lack the type system facilities to
declare the variance of the Eq and Ord operations for a specific class.
Marco Pivetta
http://twitter.com/Ocramius
http://ocramius.github.com/
On Mon, Jul 9, 2018 at 8:57 PM, Rudolf Theunissen <
rudolf.theunissen@gmail.com> wrote:
> Apologies for that middle discussion link, it was a bad hyperlink from a
> bad paste if you look at source.
>
> Here are the correct ones:
>
> *Discussion:*
> - https://externals.io/message/102337
> - https://externals.io/message/102473
>
>
>
> On Mon, 9 Jul 2018 at 13:57, Rudolf Theunissen <
> rudolf.theunissen@gmail.com>
> wrote:
>
> > Hi everyone,
> >
> > With no further discussion and no objection to start voting on this RFC,
> I
> > would like to move forward with the vote, which requires a 2/3 majority
> to
> > pass.
> >
> > *RFC*: https://wiki.php.net/rfc/object-comparison
> >
> > Discussions:
> > - https://externals.io/message/102337
> > <https://externals.io/message/102389> (June 21)
> > - https://externals.io/message/102473 (June 26)
> >
> > The vote will be open until 2018-07-16.
> >
> > Thank you,
> > Rudi
> >
> >
>