trait A {} trait B : A {} trait C : B, A {} trait C1 : B, A {} trait D : C, B{} trait A1 {} trait B1 : A1 {} trait B2 : A1, B1 {} trait BA1 {} trait BB1 : BA1 {} trait BB2 : BA1, BB1 {} //package x { trait xAA1 {} trait xAB1 : xAA1 {} trait xAB3 : xAA1> {} trait xAB2 : xAA1, xAB1, xAB3 {} //} //package x2 { trait x2AA1 {} trait x2AB1 : x2AA1 {} trait x2AB3 : x2AA1> {} trait x2AB2 : x2AA1, x2AB1, x2AB3 {} //} //package x3 { trait x3AA1 {} trait x3AB1 : x3AA1 {} trait x3AB3 : x3AA1> {} trait x3AB2 : x3AA1, x3AB1, x3AB3 {} //} //package sx2 { trait sx2AA1 {} trait sx2AB1 : sx2AA1 {} trait sx2AB3 : sx2AA1> {} trait sx2AB2 : sx2AA1, sx2AB1, sx2AB3 {} //}