On Mon, Sep 14, 2015 at 4:08 PM, Random832 <random...@fastmail.com> wrote:
> On Mon, Sep 14, 2015, at 15:48, Alexander Belopolsky wrote: > > On Mon, Sep 14, 2015 at 3:44 PM, Random832 <random...@fastmail.com> > > wrote: > > > > > It is an > > > invariant that is true today, and therefore which you can't rely on any > > > of the consumers of this 12 years old widely deployed code not to > assume > > > will remain true. > > > > > > > Sorry, this sentence does not parse. You are missing a "not" somewhere. > > Nope. I am asserting that: > > This invariant is true today. > You've never specified "this invariant", but I'll assume you are talking about "a < b implies a.astimezone(UTC) < b.astimezone(UTC)." This is *not* true today: >>> from datetime import * >>> from datetimetester import Eastern >>> UTC = timezone.utc >>> a = datetime(2002, 4, 7, 1, 40, tzinfo=Eastern) >>> b = datetime(2002, 4, 7, 2, 20, tzinfo=Eastern) >>> a < b True >>> a.astimezone(UTC) < b.astimezone(UTC) False > Therefore, it is likely that at least some consumers of datetime will > assume it is true. > Obviously, if Random832 is a real person, the last statement is true. This does not make the assumption true, just proves that at least one user is confused about the current behavior. :-) > Therefore, you cannot rely on there not being any consumers which assume > it will remain true. > That's where we are now. Some users make baseless assumptions. This will probably remain true. :-( > It's awkward, since when I go back to analyze it it turns out that the > "not" after 'code' actually technically modifies "any" earlier in the > sentence, but the number of negatives is correct. Writing in shorter sentences may help. > (Though, it actually > works out even without that change, since the question of *which* > consumers rely on the invariant is unknown.) > True. We will never know how many users rely on false assumptions.
-- https://mail.python.org/mailman/listinfo/python-list