New submission from Erez Zinman <[email protected]>:
Consider the following example:
```
from abc import ABCMeta, ABC
class MetaclassMixin(ABC):
pass
class Meta(MetaclassMixin, ABCMeta):
pass
class A(metaclass=Meta):
pass
```
Then the call `isinstance(A, Meta)` returns `True` but `isinstance(1, Meta)`
raises
>>> TypeError: __subclasscheck__() missing 1 required positional argument:
>>> 'subclass'
Checked on 3.6.9, 3.8.0 & 3.8.8
----------
components: Library (Lib)
messages: 389314
nosy: erezinman
priority: normal
severity: normal
status: open
title: A metaclass that inherits both `ABC` and `ABCMeta` breaks on
`__subclasscheck__`
versions: Python 3.6, Python 3.8
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue43594>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com