Message 404158 - Python tracker
Oh yeah -- Py_EnterRecursiveCall/Py_LeaveRecursiveCall in abstract_get_bases would be simpler. Also, the set approach also probably still c-stack overflows on
class C:
def __getattr__(self, attr):
class A: pass
class B: pass
A.__getattr__ = B.__getattr__ = C.__getattr__
return (A(), B())
issubclass(C(), int)