diff options
author | Mark Dickinson <mdickinson@enthought.com> | 2021-06-15 18:48:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-15 18:48:35 (GMT) |
commit | 1d10bf0bb9409a406c56b0de8870df998637fd0f (patch) | |
tree | ad498cd8d1a737cfdafe746d7b65a4e8e49ed52a | |
parent | cb2014f2077c92c35486bf0db7e646a68478a7a5 (diff) | |
download | cpython-1d10bf0bb9409a406c56b0de8870df998637fd0f.zip cpython-1d10bf0bb9409a406c56b0de8870df998637fd0f.tar.gz cpython-1d10bf0bb9409a406c56b0de8870df998637fd0f.tar.bz2 |
bpo-43475: Add what's new entry for NaN hash changes (GH-26725)
-rw-r--r-- | Doc/whatsnew/3.10.rst | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst index 249eb73..9b9dd31 100644 --- a/Doc/whatsnew/3.10.rst +++ b/Doc/whatsnew/3.10.rst @@ -836,6 +836,13 @@ Other Language Changes effectless under ``from __future__ import annotations``. (Contributed by Batuhan Taskaya in :issue:`42725`.) +* Hashes of NaN values of both :class:`float` type and + :class:`decimal.Decimal` type now depend on object identity. Formerly, they + always hashed to ``0`` even though NaN values are not equal to one another. + This caused potentially quadratic runtime behavior due to excessive hash + collisions when creating dictionaries and sets containing multiple NaNs. + (Contributed by Raymond Hettinger in :issue:`43475`.) + New Modules =========== |