As I wrote in bug 301413, we still have a problem in the MDG regarding loops.
The problem is that using expressions with predicates the MDG sometimes collects
to many dependencies. If the expressions are calculate MIPs a loop will exist in
the MDG graph, making the rebuild fail.
Created attachment 190522 [details]
Here's a testcase for it.
(In reply to comment #1)
Attachment 190522 [details] fails because the MDG fails to see that '' is a constant
predicate, and thus adds '/root/useArray/use/dont' (all three dont nodes) as a
dependency to both bind 'use1dont' and 'use3dont', resulting in:
use/dont => use/dont => use/dont
I think this should be done as part of bug 265212, as I would rather leave code
that needs to die alone...