fix: make Delorean hashable by defining __hash__

Defining __eq__ without __hash__ sets __hash__ to None in Python 3, so
Delorean instances were unhashable and could not be used in sets or as
dict keys (unlike datetime). Hash on self.epoch, the same value __eq__
compares, so equal instances hash equal.
This commit is contained in:
dualfroz committed 2026-09-06 01:10:27 +02:00
1 parent e387afcdd4
commit ad3f7e7b5d
2 files changed
+18

No files matched your search

+4
View File
@@ -240,6 +240,10 @@ class Delorean(object):
return self.epoch == other.epoch
return False
def __hash__(self):
# Hash on what __eq__ compares, so equal instants hash equal.
return hash(self.epoch)
def __lt__(self, other):
return self.epoch < other.epoch