On Wednesday, June 27, 2018 5:58:29 PM CDT Rudolf Theunissen wrote: > Hi everyone, > > I've made some changes to the RFC and the implementation today to explain > some of the edge cases and combined behaviour better. > > There are some issues towards the bottom of the RFC that I would really > like some opinions on. They all have decisions made but are not concrete, > so I'd like to know if anyone has strong opinions on them before they are > considered a final part of the RFC. I'm happy with the current state but > I'm very open to changing those decisions if there's a good enough reason > to. > > See https://wiki.php.net/rfc/object-comparison#open_issues > > Thank you
Overall, I like. Regarding what is legal to compare to, it seems useful to leverage the optional type hint. So given: class Foo { public function __compareTo(Foo $other) {} } class Bar extends Foo { public function __compareTo(Bar $other) {} } In this case, the order of checking to see what method to call will also check for type compatibility. That is, $f < $b checks Foo::__compareTo(), finds it doesn't match, and so calls Bar::__compareTo() instead, which does. "However, because magic methods aren't inherited" - Wait, they're not? Are you certain of that? Because 3v4l.org says they are: https://3v4l.org/P6Hlq I don't understand Future Scope point 1. It... means we're already covering those operators. Why is there future scope needed? I otherwise agree with the current Open Issues directions. --Larry Garfield
signature.asc
Description: This is a digitally signed message part.