inconsistent-mro / E0240#

Message emitted:

Inconsistent method resolution order for class %r

Description:

Used when a class has an inconsistent method resolution order.

Problematic code:

class A:
    pass


class B(A):
    pass


class C(A, B):  # [inconsistent-mro]
    pass

Correct code:

class A:
    pass


class B(A):
    pass


class C(B):  # or 'B, A' or 'A' but not 'A, B'
    pass

Created by the classes checker.