<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 3, 2015 at 11:42 AM, Carl Meyer <span dir="ltr"><<a href="mailto:carl@oddbird.net" target="_blank">carl@oddbird.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":1tg" class="" style="overflow:hidden">There is an alternative solution available that avoids this problem, and all other inconsistencies.</div></blockquote></div><div class="gmail_extra"><br></div>Really?  PEP 495 has a more or less complete reference implementation in my github fork [1] of cpython.  I have recently added the hash invariant preservation rule which required a change to the grand total of two lines in datetime.py.  Something that is that easy to implement cannot be too hard to explain and document.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I would like to specifically point out that the only existing unit test that my patch has to modify is the one which checks that astimezone() method raises an exception on a naive datetime.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I have not seen any "alternative solution" implemented anywhere.  If you have not tried it yourself - trust me - keeping 4000+ lines of unit tests intact while adding features to the datetime module is not an easy task.</div><div class="gmail_extra"><br></div><div class="gmail_extra">[1]: <a href="https://github.com/abalkin/cpython/tree/issue24773">https://github.com/abalkin/cpython/tree/issue24773</a><br><br></div></div>