New submission from Erez Zinman <erezinman.program...@gmail.com>:

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 <rep...@bugs.python.org>
<https://bugs.python.org/issue43594>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to