Inheritance cycle
This warning category is spelled [inheritance-cycle]
by qmllint.
Component is part of an inheritance cycle
What happened?
A component inherited directly or indirectly from itself.
Usually, Components can inherit properties, methods, signals and enums from other components.
If a component inherits itself directly or indirectly through another base component, then it forms an inheritance cycle. The warning indicates that the current component is inside an inheritance cycle, see Example.
Why is this bad?
Components with inheritance cycles will not be created at runtime: they will be null instead.
Example
import QtQuick Item { component Cycle: Cycle {} // not ok: directly inherits from itself component C: C2 {} // not ok: indirectly inherits from itself component C2: C{} }
To fix this warning, break up the inheritance cycle:
import QtQuick Item { component Cycle: Item {} // ok: does not inherit from itself component C: C2 {} // ok: does not indirectly inherits from itself anymore component C2: Cycle{} }