报告继承自两个基类并且这两个基类具有不兼容的不相交基 (PEP 800) 的类。

当一个类带有 @typing.disjoint_base 装饰器或具有非空的 __slots__ 特性(包括使用 slots=True 创建的数据类)时,该类就是一个不相交基。 许多内置类型,例如 intstrfloattuplelistdict 等,都是不相交基。

如果两个类各自追溯到不同、不相关的不相交基,它们就不能共享一个公共子类 — 由于内存布局不兼容,Python 在运行时会引发 TypeError

示例:


class A:
    __slots__ = ('x',)

class B:
    __slots__ = ('y',)

class C(A, B):  # 错误:A 和 B 具有不兼容的不相交基
    pass

共享公共不相交基上级的类(例如,同一个槽类的两个子类)不会被标记。