[issue41285] memoryview does not support subclassing
Michiel de Hoon
report at bugs.python.org
Sun Jul 12 10:23:24 EDT 2020
New submission from Michiel de Hoon <mjldehoon at yahoo.com>:
Currently memoryview does not support subclassing:
>>> class B(memoryview): pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type 'memoryview' is not an acceptable base type
Subclassing memoryview can be useful when
- class A supports the buffer protocol;
- class B wraps class A and should support the buffer protocol provided by class A;
- class A does not support subclassing.
In this situation,
class B(memoryview):
def __new__(cls, a):
return super(B, cls).__new__(cls, a)
where a is an instance of class A, would let instances of B support the buffer protocol provided by a.
Is there any particular reason why memoryview does not support subclassing?
----------
components: C API
messages: 373554
nosy: mdehoon
priority: normal
severity: normal
status: open
title: memoryview does not support subclassing
type: enhancement
versions: Python 3.10, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue41285>
_______________________________________
More information about the Python-bugs-list
mailing list