Skip to content

Cycles never caught #1

Description

@memophen

The raise ValueError('Cannot compute linearization, a cycle found') at line 99 in the _merge function of mro.py will never get a chance to intervene at a cycle. In such a case, the mro function will be endless recurring before _merge could be called.

Signaling here that something is wrong, however, isn't pointless. It does catch inconsistencies in the model. So the ValueError message should read as '..., an inconsistency found'.

(Not quite an issue, but the DependencyList method __len__ does not seem to be used anywhere. Might be a relict from a previous version. Meant as the count of direct parents of the current class?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions