CYCLIC_INHERITANCE_HIERARCHY reworked
We do not try to recover too gracefully from a cyclic hierarchy any more: we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut. This is done in both lazy and eager resolve to keep tests passing.
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
package test
|
||||
|
||||
trait A
|
||||
trait B : A, E
|
||||
trait C : B
|
||||
trait D : B
|
||||
trait E : F
|
||||
trait F : D, C
|
||||
trait G : F
|
||||
trait H : F
|
||||
@@ -0,0 +1,25 @@
|
||||
package test
|
||||
|
||||
internal trait A {
|
||||
}
|
||||
|
||||
internal trait B : test.A {
|
||||
}
|
||||
|
||||
internal trait C {
|
||||
}
|
||||
|
||||
internal trait D {
|
||||
}
|
||||
|
||||
internal trait E {
|
||||
}
|
||||
|
||||
internal trait F {
|
||||
}
|
||||
|
||||
internal trait G : test.F {
|
||||
}
|
||||
|
||||
internal trait H : test.F {
|
||||
}
|
||||
Reference in New Issue
Block a user