Commit a3b84fb2 authored by Stefan Krah's avatar Stefan Krah

Issue #15814: Documentation: disallow hashing of multi-dimensional memoryviews.

parent 6a42bd67
...@@ -2376,8 +2376,9 @@ copying. ...@@ -2376,8 +2376,9 @@ copying.
>>> data >>> data
bytearray(b'z1spam') bytearray(b'z1spam')
Memoryviews of hashable (read-only) types with formats 'B', 'b' or 'c' One-dimensional memoryviews of hashable (read-only) types with formats
are also hashable. The hash is defined as ``hash(m) == hash(m.tobytes())``:: 'B', 'b' or 'c' are also hashable. The hash is defined as
``hash(m) == hash(m.tobytes())``::
>>> v = memoryview(b'abcefg') >>> v = memoryview(b'abcefg')
>>> hash(v) == hash(b'abcefg') >>> hash(v) == hash(b'abcefg')
...@@ -2388,12 +2389,13 @@ copying. ...@@ -2388,12 +2389,13 @@ copying.
True True
.. versionchanged:: 3.3 .. versionchanged:: 3.3
Memoryview objects with formats 'B', 'b' or 'c' are now hashable. One-dimensional memoryviews with formats 'B', 'b' or 'c' are now hashable.
.. note:: .. note::
Hashing of memoryviews with formats other than 'B', 'b' or 'c' is Hashing of memoryviews with formats other than 'B', 'b' or 'c' as well
possible in version 3.3.0, but will raise an error in 3.3.1 in order as hashing of multi-dimensional memoryviews is possible in version 3.3.0,
to be compatible with the new memoryview equality definition. but will raise an error in 3.3.1 in order to be compatible with the new
memoryview equality definition.
:class:`memoryview` has several methods: :class:`memoryview` has several methods:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment