New submission from Randy Eckman <emanspe...@gmail.com>:
>>> from abc import ABCMeta >>> class AbstractMeta(type, metaclass=ABCMeta): pass ... >>> class Meta1(AbstractMeta): pass ... >>> class Meta2(AbstractMeta): pass ... >>> class ClassA(metaclass=Meta1): pass ... >>> isinstance(ClassA, Meta2) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\miniconda\miniconda3\lib\abc.py", line 139, in __instancecheck__ return _abc_instancecheck(cls, instance) TypeError: __subclasscheck__() takes exactly one argument (0 given) This is driven by the fact that the metaclass of AbstractMeta is ABCMeta; if I change its metaclass to something else that does not contain ABCMeta in the inheritance chain, isinstance returns False as expected. Possibly related to Issue 2325? ---------- components: Interpreter Core messages: 342152 nosy: emanspeaks priority: normal severity: normal status: open title: isinstance raises TypeError for metaclass with metaclass=ABCMeta versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36881> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com