On Sun, Apr 19, 2020 at 3:39 AM Paul Ganssle <p...@ganssle.io> wrote:
>
> A few weeks ago, I submitted PEP 615 to the steering council for a decision. 
> There's been a decent amount of discussion there with some very good 
> questions. I think they are mostly resolved (though I'm happy to have other 
> people look over the logic of some of my responses there), but Victor brought 
> up the question of the equality and hash behavior of ZoneInfo, and while I'm 
> leaning one way, I could easily be convinced - particularly if people have 
> real use cases that they are planning to implement that would be affected by 
> this.
>
> I've summed up the options on the discourse thread, and would appreciate if 
> anyone is able to give some feedback.
>
> Thanks!

In every use-case that I've ever had, and every one that I can
imagine, I've not cared about the difference between "US/Eastern" and
"America/New_York". In fact, if ZoneInfo("US/Eastern") returned
something that had a name of "America/New_York", I would be fine with
that. Similarly, Australia/Melbourne and Australia/Sydney are, to my
knowledge, equivalent. (If I'm wrong on my own country's history of
timezones, then I apologize and withdraw the example, but I'm talking
about cases where you absolutely cannot tell the difference based on
the displayed time.) Having those compare equal would be convenient.

I don't think it's a problem to have equivalent objects unable to
coexist in a set. That's just the way sets work - len({5, 5.0}) is 1,
not 2.

Since options 3 and 4 are the most expensive, I'm fine with the idea
of a future method that would test for equivalence, rather than having
them actually compare equal; but I'd also be fine with having
ZoneInfo("US/Eastern") actually return the same object that
ZoneInfo("America/New_York") returns. For the equality comparison, I
would be happy with proposal 2.

ChrisA
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JPUGSSXX2MWF3ABH3QNHXSMNVDWMRVJS/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to