Код: Выделить всё
import ctypes
from collections.abc import Mapping
class StructureMeta(type(ctypes.Structure), type(Mapping)):
pass
class Structure(ctypes.Structure, Mapping, metaclass=StructureMeta):
pass
struct = Structure()
assert isinstance(struct, ctypes.Structure)
assert isinstance(struct, Mapping)
Это работает нормально при выполнении с Python 3.11. Увы, Pylint 3.3.4 сообщает о двух ошибках: < /p>
test.py:5:0: E0240: Inconsistent method resolution order for class 'StructureMeta' (inconsistent-mro)
test.py:9:0: E1139: Invalid metaclass 'StructureMeta' used (invalid-metaclass)
< /code>
Как мне нужно изменить мета -класс, чтобы исправить ошибку, сообщаемая Pylint? Это даже проблема?
Подробнее здесь: https://stackoverflow.com/questions/794 ... pes-struct