summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2008-08-18 12:31:52 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2008-08-18 12:31:52 (GMT)
commit36f4952404e05ac550e33c8ba2fde831fde8fecd (patch)
tree7e42d285751bac81743d4424eed375b1db5b5475
parent7d10c2baf99f9dc4318fe985b0709816ef192d61 (diff)
downloadcpython-36f4952404e05ac550e33c8ba2fde831fde8fecd.zip
cpython-36f4952404e05ac550e33c8ba2fde831fde8fecd.tar.gz
cpython-36f4952404e05ac550e33c8ba2fde831fde8fecd.tar.bz2
Forward port only Py3k relevant change in r65642 (giving it a Py3k NEWS entry anyway because of the difference in the changes between the two branches)
-rw-r--r--Lib/numbers.py2
-rw-r--r--Misc/NEWS6
2 files changed, 8 insertions, 0 deletions
diff --git a/Lib/numbers.py b/Lib/numbers.py
index c72a23d..827c253 100644
--- a/Lib/numbers.py
+++ b/Lib/numbers.py
@@ -15,6 +15,8 @@ class Number(metaclass=ABCMeta):
If you just want to check if an argument x is a number, without
caring what kind, use isinstance(x, Number).
"""
+ # Concrete numeric types must provide their own hash implementation
+ __hash__ = None
## Notes on Decimal
diff --git a/Misc/NEWS b/Misc/NEWS
index afbe989..78cae29 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -30,6 +30,12 @@ Core and Builtins
Library
-------
+- Issue #2235: numbers.Number now blocks inheritance of the default id()
+ based hash because that hash mechanism is not correct for numeric types.
+ All concrete numeric types that inherit from Number (rather than just
+ registering with it) must explicitly provide a hash implementation in
+ order for their instances to be hashable.
+
- Issue #2676: in the email package, content-type parsing was hanging on
pathological input because of quadratic or exponential behaviour of a
regular expression.