GH-101898: Fix missing term references for hashable definition (#101899)

Fix missing term references for hashable definition
This commit is contained in:
Furkan Onder 2023-02-14 10:20:11 +00:00 committed by GitHub
parent e5da9ab2c8
commit 3690688149
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 22 additions and 22 deletions

View File

@ -80,7 +80,7 @@ Dictionary Objects
.. c:function:: int PyDict_DelItem(PyObject *p, PyObject *key)
Remove the entry in dictionary *p* with key *key*. *key* must be hashable;
Remove the entry in dictionary *p* with key *key*. *key* must be :term:`hashable`;
if it isn't, :exc:`TypeError` is raised.
If *key* is not in the dictionary, :exc:`KeyError` is raised.
Return ``0`` on success or ``-1`` on failure.

View File

@ -281,7 +281,7 @@ Object Protocol
.. c:function:: Py_hash_t PyObject_HashNotImplemented(PyObject *o)
Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and return ``-1``.
Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` and return ``-1``.
This function receives special treatment when stored in a ``tp_hash`` slot,
allowing a type to explicitly indicate to the interpreter that it is not
hashable.

View File

@ -1979,7 +1979,7 @@ method result will be released right away. The disadvantage is that if
instances accumulate, so too will the accumulated method results. They
can grow without bound.
The *lru_cache* approach works with methods that have hashable
The *lru_cache* approach works with methods that have :term:`hashable`
arguments. It creates a reference to the instance unless special
efforts are made to pass in weak references.

View File

@ -21,7 +21,7 @@ The :mod:`collections` module has some concrete classes that derive from
ABCs; these can, of course, be further derived. In addition, the
:mod:`collections.abc` submodule has some ABCs that can be used to test whether
a class or instance provides a particular interface, for example, if it is
hashable or if it is a mapping.
:term:`hashable` or if it is a mapping.
This module provides the metaclass :class:`ABCMeta` for defining ABCs and

View File

@ -22,7 +22,7 @@
This module provides :term:`abstract base classes <abstract base class>` that
can be used to test whether a class provides a particular interface; for
example, whether it is hashable or whether it is a mapping.
example, whether it is :term:`hashable` or whether it is a mapping.
An :func:`issubclass` or :func:`isinstance` test for an interface works in one
of three ways.
@ -406,7 +406,7 @@ Notes on using :class:`Set` and :class:`MutableSet` as a mixin:
(3)
The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash value
for the set; however, :meth:`__hash__` is not defined because not all sets
are hashable or immutable. To add set hashability using mixins,
are :term:`hashable` or immutable. To add set hashability using mixins,
inherit from both :meth:`Set` and :meth:`Hashable`, then define
``__hash__ = Set._hash``.

View File

@ -25,7 +25,7 @@ Python's general purpose built-in containers, :class:`dict`, :class:`list`,
:func:`namedtuple` factory function for creating tuple subclasses with named fields
:class:`deque` list-like container with fast appends and pops on either end
:class:`ChainMap` dict-like class for creating a single view of multiple mappings
:class:`Counter` dict subclass for counting hashable objects
:class:`Counter` dict subclass for counting :term:`hashable` objects
:class:`OrderedDict` dict subclass that remembers the order entries were added
:class:`defaultdict` dict subclass that calls a factory function to supply missing values
:class:`UserDict` wrapper around dictionary objects for easier dict subclassing
@ -242,7 +242,7 @@ For example::
.. class:: Counter([iterable-or-mapping])
A :class:`Counter` is a :class:`dict` subclass for counting hashable objects.
A :class:`Counter` is a :class:`dict` subclass for counting :term:`hashable` objects.
It is a collection where elements are stored as dictionary keys
and their counts are stored as dictionary values. Counts are allowed to be
any integer value including zero or negative counts. The :class:`Counter`

View File

@ -160,7 +160,7 @@ The :class:`date`, :class:`.datetime`, :class:`.time`, and :class:`timezone` typ
share these common features:
- Objects of these types are immutable.
- Objects of these types are hashable, meaning that they can be used as
- Objects of these types are :term:`hashable`, meaning that they can be used as
dictionary keys.
- Objects of these types support efficient pickling via the :mod:`pickle` module.

View File

@ -77,7 +77,7 @@ another rational number, or from a string.
The :class:`Fraction` class inherits from the abstract base class
:class:`numbers.Rational`, and implements all of the methods and
operations from that class. :class:`Fraction` instances are hashable,
operations from that class. :class:`Fraction` instances are :term:`hashable`,
and should be treated as immutable. In addition,
:class:`Fraction` has the following properties and methods:

View File

@ -147,7 +147,7 @@ The :mod:`functools` module defines the following functions:
threads.
Since a dictionary is used to cache results, the positional and keyword
arguments to the function must be hashable.
arguments to the function must be :term:`hashable`.
Distinct argument patterns may be considered to be distinct calls with
separate cache entries. For example, ``f(a=1, b=2)`` and ``f(b=2, a=1)``

View File

@ -17,7 +17,7 @@
.. class:: TopologicalSorter(graph=None)
Provides functionality to topologically sort a graph of hashable nodes.
Provides functionality to topologically sort a graph of :term:`hashable` nodes.
A topological order is a linear ordering of the vertices in a graph such that
for every directed edge u -> v from vertex u to vertex v, vertex u comes
@ -85,7 +85,7 @@
.. method:: add(node, *predecessors)
Add a new node and its predecessors to the graph. Both the *node* and all
elements in *predecessors* must be hashable.
elements in *predecessors* must be :term:`hashable`.
If called multiple times with the same node argument, the set of
dependencies will be the union of all dependencies passed in.

View File

@ -689,7 +689,7 @@ function.
modified copy.
.. versionchanged:: 3.5
Signature objects are picklable and hashable.
Signature objects are picklable and :term:`hashable`.
.. attribute:: Signature.empty
@ -768,7 +768,7 @@ function.
you can use :meth:`Parameter.replace` to create a modified copy.
.. versionchanged:: 3.5
Parameter objects are picklable and hashable.
Parameter objects are picklable and :term:`hashable`.
.. attribute:: Parameter.empty

View File

@ -327,7 +327,7 @@ expect a function argument.
return g
The items can be any type accepted by the operand's :meth:`__getitem__`
method. Dictionaries accept any hashable value. Lists, tuples, and
method. Dictionaries accept any :term:`hashable` value. Lists, tuples, and
strings accept an index or a slice:
>>> itemgetter(1)('ABCDEFG')

View File

@ -186,7 +186,7 @@ these classes, since they don't provide any operation that does system calls.
General properties
^^^^^^^^^^^^^^^^^^
Paths are immutable and hashable. Paths of a same flavour are comparable
Paths are immutable and :term:`hashable`. Paths of a same flavour are comparable
and orderable. These properties respect the flavour's case-folding
semantics::

View File

@ -3775,7 +3775,7 @@ copying.
>>> data
bytearray(b'z1spam')
One-dimensional memoryviews of hashable (read-only) types with formats
One-dimensional memoryviews of :term:`hashable` (read-only) types with formats
'B', 'b' or 'c' are also hashable. The hash is defined as
``hash(m) == hash(m.tobytes())``::
@ -3789,7 +3789,7 @@ copying.
.. versionchanged:: 3.3
One-dimensional memoryviews can now be sliced.
One-dimensional memoryviews with formats 'B', 'b' or 'c' are now hashable.
One-dimensional memoryviews with formats 'B', 'b' or 'c' are now :term:`hashable`.
.. versionchanged:: 3.4
memoryview is now registered automatically with
@ -4710,7 +4710,7 @@ support membership tests:
.. versionadded:: 3.10
Keys views are set-like since their entries are unique and hashable. If all
Keys views are set-like since their entries are unique and :term:`hashable`. If all
values are hashable, so that ``(key, value)`` pairs are unique and hashable,
then the items view is also set-like. (Values views are not treated as set-like
since the entries are generally not unique.) For set-like views, all of the

View File

@ -439,7 +439,7 @@ are intended primarily for static type checking.
A user-defined generic class can have ABCs as base classes without a metaclass
conflict. Generic metaclasses are not supported. The outcome of parameterizing
generics is cached, and most types in the typing module are hashable and
generics is cached, and most types in the typing module are :term:`hashable` and
comparable for equality.

View File

@ -1525,7 +1525,7 @@ Basic customization
:meth:`__hash__`, its instances will not be usable as items in hashable
collections. If a class defines mutable objects and implements an
:meth:`__eq__` method, it should not implement :meth:`__hash__`, since the
implementation of hashable collections requires that a key's hash value is
implementation of :term:`hashable` collections requires that a key's hash value is
immutable (if the object's hash value changes, it will be in the wrong hash
bucket).