bpo-37051: Refine note on what objects are hashable (GH-13587) (GH-13595)
(cherry picked from commit cc1c582f6fe450ce1c7de849137039e9b5fab8eb)
Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index b6ab286..f7f35cb 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -508,8 +508,10 @@
Hashability makes an object usable as a dictionary key and a set member,
because these data structures use the hash value internally.
- All of Python's immutable built-in objects are hashable; mutable
- containers (such as lists or dictionaries) are not. Objects which are
+ Most of Python's immutable built-in objects are hashable; mutable
+ containers (such as lists or dictionaries) are not; immutable
+ containers (such as tuples and frozensets) are only hashable if
+ their elements are hashable. Objects which are
instances of user-defined classes are hashable by default. They all
compare unequal (except with themselves), and their hash value is derived
from their :func:`id`.